我在服务器Linux中有一个带有此字符的文本文件;
ID DATA
MF00034657,12435464^DRogan^DPUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;M-DT_MAX_1;
MF00056578,12435464^DRogan^DPUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;PUM-DT_MAX_1234;UM-DT_MAX_123;
现在我需要过滤不包含“PUM-DT_MAX_1234”的行,并保存在另一个具有ID的文件中
像这样
MF00034657,M-DT_MAX_1
MF00056578,UM-DT_MAX_123
我用
grep -v 'PUM-DT_MAX_1234' file > file.out
awk '!/PUM-DT_MAX_1234/' file > file.out
但是不工作
有什么建议么
谢谢!
最佳答案
sed '1b
h;s/.*DRogan^D//;s/PUM-DT_MAX_1234;\{0,1\}//g;s/;$//;/./!d
H;g;s/,.*\n/,/' YourFile
概念:
-保留该行的副本
-从生产线上移去水头和任何PUM,检查是否残留物
-取回标题(从缓冲行)并用reduce行重新格式化
关于linux - 显示不包含特定字符串linux的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30667233/