2014-03-13 38 views
0

使用SED/AWK命令來刪除一個模式之間的字符串如何從一個文件中下面提到的字符串中刪除信f如何在Linux

a;b;c;d;e;f;g;h;i;j;k;l;m 

這需要通過做只使用分隔符;使用sed或awk。

輸出將是:

a;b;c;d;e;g;h;i;j;k;l;m 
+1

期望的結果是什麼? – 2014-03-13 14:30:06

+0

不會更容易嗎? – Brian

+4

's/f //' - 或者我錯過了什麼? – devnull

回答

1

這可能會爲你工作(GNU SED):

sed 's/[^;];//6' file 
0
$ echo 'a;b;c;d;e;f;g;h;i;j;k;l;m' | sed 's/;*f;*/;/' 
a;b;c;d;e;g;h;i;j;k;l;m 
0

更容易使用比sed的Perl的餡餅(除非戰略經濟對話在過去20年中增加了一個就地編輯標記)。

perl -p -i -e 's/;f;/;/' fileName.txt 
+0

您怎麼知道'e' 'f'之前? – 2014-03-13 14:36:20

+0

@LutzHorn - 作者不清楚這是一般情況還是特定情況。 – marathon

0
sed 's/f;//' YourFile 

要小心如果f是樣品因可能的特殊字符在一個通用的模式只有一個樣品圖案