Linux/Unix
我是新来的脚本,并试图了解如何提取这两种不同的模式之间存在的任何文本。不过,我仍然无法弄清楚如何在两个模式之间提取文本中的以下情形: 如果我有我的输入文件阅读: 您好我想 打印文本 这两者之间 图案 和我预期的输出是这样的:我想 打印文本 这两者之间 即。我的第一个搜索模式是“你好”,并跳过此模式,但打印以下匹配模式存在于同一行的一切。我的第二个搜索模式是“模式”,我想完全避免打印此行
..
我有以下脚本 的awk'{printf的“%S”,$ 1“ - ”$ 2“,”}'$ A>>职位; 其中, $ A 存储文件的名称。其实我写多个列的值成一排。不过,我想打印一个逗号只如果我没有在最后一行。 解决方案 我会通过查找的行数之前运行脚本,例如做用的coreutils和bash:的awk -v nlines = $(WC -l< $一个)!'{printf的“%
..
有没有另一种方式从列的所有值中减去最小值,有效地抵消了价值? 我必须从所有其他号码减去第一个数字,在格兰第一列,在格兰第一列.. 我写这个剧本是不能做出正确的结果。任何人可以帮助我吗? 的awk'{$ 1 = $ 1 - 1280449530}'文件1280449530 452 1280449531 2434 1280449531 2681 1280449531 2946 1280449
..
我如何从一个流中的文本的每一行删除第一个字?即 $猫MYFILE 一些文本1 一些文本2 一些文本3 我要的是 $猫MYFILE | magiccommand 文本1 文本2 文字3 我将如何去这个使用bash?我可以用awk'{打印$ 2 $ 3 $ 4 $ 5 ....}'但是这混乱的,会导致多余的空格对所有空参数。我在想,SED可能能够做到这一点,但我找不到任何的例子。任何帮助A
..
不管你信不信,我找不到答案我会觉得这是这个非常基本的问题。 在awk中,我怎么能遍历由字符输入字符串的字符?比方说,我只是想打印出来。是否有一个数组我可以访问?还是我需要使用SUBSTR? 基本上是这样的: 回声“这里是一个字符串”| AWK“ {用于(ⅰ= 0; I&下;输入字符串的长度];我+ +) printf的[索引i数组x值]。 }“ 坦率地说,我很尴尬。 解决方案
..
我有文件,其中包含一些数据,像这样 2011-01-02 100100 1 2011-01-02 100200 0 2011-01-02 100199 3 2011-01-02 100235 4 和在单独的文件中一些“字典” 100100事件1 100200 EVENT2 100199 EVENT3 100235 Event4 和我知道, 0 - 警告 1 - 错误 2 - 关键
..
我有两个文件: 文件1 12 ABC 34 CDE 42 DFG 11 DF 9 C 文件2 23 ABC 24 GJR 12 DFG 8 DF 我想通过柱合并文件列(如果塔2是相同的)为这样的输出:文件1文件2 12月23日美国广播公司 42 12 DFG 11月8日DF 34 NA CDE 9 NAê NA 24 GJR 我怎样才能
..
我该如何正确在awk中比UTF8其他编码读取文件? 我在希伯来文/ Windows的-1255编码的文件。 一个简单的{打印$ 0} AWK打印的东西一样。 我怎样才能使它正确地读取? 解决方案 AWK本身并不具备处理不同编码的支持。这将履行在环境中指定的语言环境,但你最好的选择是跨code输入到正确的编码交给其关闭,以AWK之前。 -f是你想从转换格式,-t是目标格式,并在其中p
..
您好, 我不知道如何格式化输出如下: -0.3116274D-04 -0.2389361D-04 -0.1192458D-04 0.3306203D-04 0.2534987D-04 0.1265136D-04 -0.2167920D-04 -0.3713258D-04 -0.2294900D-05 -0.4151710D-05 -0.7674479D-03 -0.5749288D-04 0
..
如果因此下面的一行代码利用AWK可能提供有用的模板 SVN的日志-v -r {} 2009-05-21:HEAD | awk的'/ ^ R [0-9] + / {用户= $ 3} / yms_web / {如果(用户==“乔治”){打印$ 2}}'|排序| uniq的 解决方案 您可以将它添加到的有用的命令行SVN范例。
..
我试图写一个,对我来说,复杂的脚本,我的目标是要做到以下几点。我已经在未来的字符串看起来是这样的: 2012 2013“多个单词” 我的目标是把每一项上用空格分开的数组,但仅限于单个单词的匹配,而不是那些被双引号包围。这些应被视为一个字。所以我的想法是这样做的两个步骤。第一场比赛的那些话的倍数,去掉那些从字符串,然后用空格分开另一次迭代。结果 不幸的是,我找不到怎样的帮助回声只有比赛。到目
..
好吧,我有我的Linux系统中两个相关的列表中的文本文件: 的/ tmp / oldList 的/ tmp / newList 我需要比较这些列表,看看有什么得到了添加的直线和删除得到什么线路。 然后,我需要循环这些线路,并依据他们是否添加或移除对他们的行动。我该怎么做这在bash? 解决方案 使用 COMM(1)命令来比较两个文件。他们都需要进行排序,您可以事先做,如果他们是大的,或
..
我想是这样的: 文件1 ='日志/最后/ mydata1.log“ 文件2 ='日志/最后/ mydata2.log“#声明使用awk来重塑数据功能 - 不工作:( SUM1(FNAME)=(“<的awk'{总和= 0;对于(I = 8; I< = NF;我+ = 2)之和+ = $ I;打印$ 1,总和/ 2}'$ FNAME”) SUM2(FNAME)=(“<的awk'{总
..
我需要写一个简单的脚本来替换文本块与另一个文件的内容配置文件。 让我们有以下简化文件假设: server.xml中 < XML版本='1.0'编码='UTF-8'&GT?; <服务器端口=“8005”关机=“关机”> <服务名=“卡特琳娜”> <连接器端口=“80”协议=“HTTP / 1.1”/> <发动机NAME =“卡
..
该文件有3个字段。我想如绿色,第三个白色的第2场(注:黑色背景),所以我尝试: 的awk'{打印“\\ 033 [0;32米”$ 1“\\ 033 [0米”,“\\ 033 [0;32米”$ 2“\\ 033 [0米”,“\\ 033 [0;37米“$ 3”\\ 033 [0米“}}'chrono.txt 和一切是绿色的...... 我 如何必须着手(如果可能的话)? 解决方案 要获得a
..
我的方式来批量后,用正则表达式即重命名文件。 S / 123 / onetwothree / G 我记得我可以用awk和正则表达式的sed,但不可能在一起弄清楚如何管他们所需的输出。 解决方案 要进行重命名操作的有效方式是构建重命名命令在一个sed管道,并将其送入外壳。 LS | SED -n的/ \\ \\(123 \\)\\ / MV“\\ 1 \\ 2 \\ 3”“\\ 1one
..
我想比较两个十进制数,但我得到的错误。 我用 如果[“$(回声$ RESULT1'>'$结果2 | BC -l)”-eq 1];然后 由其他堆栈溢出线程建议。 我收到错误。 什么是去对此正确的方法是什么? 解决方案 您可以使用bash的数字语境做到这一点: IF(($(回声“$ RESULT1> $结果2”| BC -l)));然后 BC 将输出0或1,(())将间
..
有没有一种方法来打印由OFS分隔的所有记录,而不打字每列数。 语法#Desired风格,令人失望的结果 [kbrandt @林间空地:〜]回声“1 2 3 4”| GAWK'BEGIN {OFS =“:-(”} {打印$ 0}“ 1 2 3 4#Desired结果,意外语法 [kbrandt @林间空地:〜]回声“1 2 3 4”| GAWK'BEGIN {OFS =“:-)”}; {打印$ 1
..
我已经是在命令行下工作得很好的命令,而不是当我试图把它放在一个别名或功能。 $的awk'{$打印1}“的/ tmp /文本文件 0 这是正确的,因为“0”是在“文本文件”1的位置。 $别名=“的awk'{$打印1}”的/ tmp /文本文件“ $一个 1 0 136 94 这是在“文本文件”整行。我已经尝试了各种不同的报价,括号和反引号,我可以想像可能会奏效。我可以以各种格式得到了同样
..
假设你的工作日期间,您多次遇到栏目化输出以下形式的一些命令在bash(在我的情况下,从执行 SVN ST 在我的Rails的工作目录) ? changes.patch 中号的应用程序/模型/ superman.rb 一个应用程序/模型/ superwoman.rb 为了与命令的输出工作 - 在这种情况下,文件名 - 某种解析是必需的,使得第二列可以被用作输入下一个命令 我一直在做的就是使用
..