我在服务器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/

    10-13 05:49