我有几个包含关键字的文本文件。我必须从这些文件中选择几行并对其进行解析。下面是一个示例文件。我必须对"Customer“执行grep操作,并从文件中获取行。
13 Sun Sep 9 12:14:38 2012 : [P] Reproducer has the 167 number
13 Sun Sep 9 12:14:38 2012 : [P] Customer has the 12.14.19.9
13 Sun Sep 9 12:14:38 2012 : [P] Customer has the 12.14.89.9
13 Sun Sep 9 12:14:38 201
我想检查字段中的两个字段是否有共同的字符。
first second // looking for "s"
third fourth // looking for "t" or "h" or "r"
some that
我只想打印字段中至少有一个共同字符的前两行。
我把这些字段读成
awk 'BEGIN{FS=" ";} CONDITION {print $0}' file.txt
在这种情况下,我需要将一个字段分割成字符,并检查它们在另一个字段中的存在。
// for $1
BEGIN{FS=
我有一份文件如下
cat foo.txt
N N
N N
N N
N N
I-MB I-MB
我想输出第一列与第二列不相等的行,所以我使用awk来实现它。
cat foo.txt | awk '$1 != $2'
N N
N N
N N
但奇怪的是,它不起作用。
原因是它是由windows生成的。
file foo.txt
foo.txt: ASCII text, with CRLF, LF line terminators
在将其转换为unix表单之后,它可以工作。
sed -e 's/^M$//' foo.txt > foo2.txt
file foo
你能解释一下为什么这条简单的班轮不能用吗?耽误您时间,实在对不起。
awk 'BEGIN{i=1}{if($2 == i){print $0} else{print "0",i} i=i+1}' check
输入名为“check”的文本文件:
a 1
b 2
c 3
e 5
f 6
g 7
期望产出:
a 1
b 2
c 3
0 4
e 5
f 6
g 7
收到的产出:
a 1
b 2
c 3
0 4
0 5
0 6
我有一个很长的文本字符串文件,按长度排序。我需要做的是找到包含在长线中的任何短线,将长线分成两条较短的线,并保持原来的短线不变,如下所示:
input:
here is an example of a long line
an example of
output:
here is
a long line
an example of