我有这个包含序列号的文件 (serials.txt):
S/N:175-1915011190
S/N:244-1920023447
S/N:335-1920101144
S/N:244-1920101149
使用 grep
或类似工具我想选择所有不以“244”开头的连续剧
我可以使用 grep -Eo '244-[0-9]*' serials.txt
选择所有“244”,但我想要相反的结果。
类似于 grep -Eo '(^244)-[0-9]*' serials.txt
输出应该是(没有S/N:)
175-1915011190
335-1920101144
最佳答案
遵循 awk
可能会对您有所帮助。
awk '!/S\/N:244/' Input_file
编辑:如果您需要在输出中从序列号开始到结束,以上代码将给出完整的行作为输出,那么以下内容可能会对您有所帮助。
awk -F':' '!/S\/N:244/{print $2}' Input_file
EDIT2: 在此处也添加一个 sed
解决方案。
sed -n '/:244/d;s/.*://;p' Input_file
关于bash - grep序列号不以特定前缀开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48081872/