2016-10-03 61 views
0

我在編寫一個相當基本的腳本,首先通過我擁有的文本文件貓,並且對於包含世界的每一行'NUMERIC'只運行一個sed命令。我想知道我該如何去做這件事?包含特定單詞的sed行的腳本

所以基本上我首先有一個非常大的文本文件,這個腳本需要運行某種for循環(或其他)來通過並運行一個sed命令,只有當文本文件中的行包含單詞' NUMERIC」

感謝

+0

如果您提供的樣本數據縮小你的問題會更好。下面的一位用戶通過刪除「非NUMERIC」行來回答您的問題以進行替換。另一位用戶通過保留「非NUMERIC」行進行替換。 – blackpen

回答

0

或者爲什麼不這樣做:

cat file.txt | grep 'NUMERIC' | sed 's/abc/def/' 

在上面的例子中,我catting文件 「file.txt的」,並然後對字符串'NUMERIC'進行格式化,這會給我帶有'NUMERIC'的行,然後應用sed操作將abc替換爲def(替換您選擇的SED操作)。

上述命令將在屏幕上打印輸出。如果你想保存它,你可以將輸出重定向到一個文件。下面

例如:

cat file.txt | grep 'NUMERIC' | sed 's/abc/def/' >> new_file.txt 
0

您可以將您的sed命令之前指定的地址。

只有地址模式匹配線將被處理:

$ sed '/NUMERIC/s/five/six/' <<< "five NUMERIC" 
six NUMERIC 
相關問題