我要求在uniq -D选项不支持的文件中打印所有重复的行.所以我在考虑使用awk打印重复行的另一种方法.我知道,我们在awk中有一个选项,如下所示.
TESTFILE.TXT
apple
apple
orange
orange
cherry
cherry
kiwi
strawberry
strawberry
papaya
cashew
cashew
pista
Run Code Online (Sandbox Code Playgroud)
命令:
awk 'seen[$0]++' testfile.txt
Run Code Online (Sandbox Code Playgroud)
但上面只打印出唯一的重复行.我需要uniq -D命令检索的相同输出.
apple
apple
orange
orange
cherry
cherry
strawberry
strawberry
cashew
cashew
Run Code Online (Sandbox Code Playgroud) echo "A:\ B:\ C:\ D:\" | awk -F'[:\]' '{print $1}'
Run Code Online (Sandbox Code Playgroud)
输出:
awk: warning: escape sequence `\]' treated as plain `]'
A
Run Code Online (Sandbox Code Playgroud)
我收到上面的警告信息,我已经尝试了多个选项来逃避]但是没有解决.
我想用这两个分隔符:\和打印完全字母A,B,C,D通过印刷$1,$2,$3,$4分别.
我有以下 input.txt 文件。我需要计算 2 美元和 3 美元的时间差并以小时为单位打印差值。
P1, 2016-05-30 00:11:20, 2016-05-30 04:36:40
P2, 2016-05-30 00:07:20, 2016-05-30 04:32:31
Run Code Online (Sandbox Code Playgroud)
我有以下代码,但看起来时间显示不准确。请帮忙。
awk -F, '{gsub(/[-:]/," ",$2);gsub(/[-:]/," ",$3);
d2=mktime($3);d1=mktime($2);
print $1","(d2-d1)/3600,"hrs";}' input.txt
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出。
P1,4.42222 hrs
P2,4.41972 hrs
Run Code Online (Sandbox Code Playgroud)
但应该显示出差异 4:25:20 小时 4:25:11 小时
提前致谢