0

我目前正在尝试删除包含该行的文本文件中的每一行

“事件/D:x:y:z:pmts1[122]:pmts2[122]:drift:Tot/D:S1:S2:S1Top:S1Bot:S2Top:S2Bot:logS2S1:pseudo_z:pseudo_z_s2”。

我想我可以很容易地通过以下方式使用 grep -v :

grep -v  "event/D:x:y:z:pmts1[122]:pmts2[122]:drift:Tot/D:S1:S2:S1Top:S1Bot:S2Top:S2Bot:logS2S1:pseudo_z:pseudo_z_s2" data.txt >> NewData.txt

但是,该命令似乎只是陷入了无限循环之类的问题,并且 data.txt 中的任何行都没有添加到 NewData.txt 中。

有人可以告诉我我做错了什么吗?提前致谢!

4

2 回答 2

0

您需要使用\. 尝试:

grep -v "event\/D:x:y:z:pmts1\[122\]:pmts2\[122\]:drift:Tot\/D:S1:S2:S1Top:S1Bot:S2Top:S2Bot:logS2S1:pseudo_z:pseudo_z_s2" file.txt > newfile.txt

如果您有,您可以使用以下标志GNU sed将更改直接写入您的文件:-i

sed -i '/event\/D:x:y:z:pmts1\[122\]:pmts2\[122\]:drift:Tot\/D:S1:S2:S1Top:S1Bot:S2Top:S2Bot:logS2S1:pseudo_z:pseudo_z_s2/d' file.txt
于 2012-10-18T05:45:09.003 回答
0

如果第一个字符是双引号 '"',您可以将模式放在单引号中。

于 2012-10-18T05:18:15.023 回答