我在編寫一個相當基本的腳本,首先通過我擁有的文本文件貓,並且對於包含世界的每一行'NUMERIC'只運行一個sed命令。我想知道我該如何去做這件事?包含特定單詞的sed行的腳本
所以基本上我首先有一個非常大的文本文件,這個腳本需要運行某種for循環(或其他)來通過並運行一個sed命令,只有當文本文件中的行包含單詞' NUMERIC」
感謝
我在編寫一個相當基本的腳本,首先通過我擁有的文本文件貓,並且對於包含世界的每一行'NUMERIC'只運行一個sed命令。我想知道我該如何去做這件事?包含特定單詞的sed行的腳本
所以基本上我首先有一個非常大的文本文件,這個腳本需要運行某種for循環(或其他)來通過並運行一個sed命令,只有當文本文件中的行包含單詞' NUMERIC」
感謝
或者爲什麼不這樣做:
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
您可以將您的sed命令之前指定的地址。
只有地址模式匹配線將被處理:
$ sed '/NUMERIC/s/five/six/' <<< "five NUMERIC"
six NUMERIC
如果您提供的樣本數據縮小你的問題會更好。下面的一位用戶通過刪除「非NUMERIC」行來回答您的問題以進行替換。另一位用戶通過保留「非NUMERIC」行進行替換。 – blackpen