我想用sed來做到這一點。我有2個文件:如何在下一個sed命令中使用pipe的結果?
keys.txt:
host1
host2
test.txt
host1 abc
host2 cdf
host3 abaasdf
我想用sed來刪除的test.txt包含在keys.txt關鍵字的行。所以test.txt的結果應該是
host3 abaasdf
有人可以告訴我如何做到這一點與sed?
感謝,
我想用sed來做到這一點。我有2個文件:如何在下一個sed命令中使用pipe的結果?
keys.txt:
host1
host2
test.txt
host1 abc
host2 cdf
host3 abaasdf
我想用sed來刪除的test.txt包含在keys.txt關鍵字的行。所以test.txt的結果應該是
host3 abaasdf
有人可以告訴我如何做到這一點與sed?
感謝,
我推薦使用grep
這個(尤其是fgrep
因爲沒有涉及到的正則表達式),所以
fgrep -v -f keys.txt test.txt
做它的罰款。隨着sed
很快這個工程:
sed -i.ORIGKEYS.txt ^-e 's_^_/_' -e 's_$_/d_' keys.txt
sed -f keys.txt test.txt
(這就地修改原始keys.txt
- 與備份 - 爲sourceable sed腳本。)
如果我做貓keys.txt | sed ...(刪除這個鍵)。我怎樣才能做到這一點? –
你只是不能。 sed是有能力的,但沒有那種能力的AFAIK。 –
對於'grep -f'的+1 +1 –
組合這可能會爲你工作(GNU SED):
sed 's|.*|/^&\\>/d|' keys.txt | sed -f - test.txt
大約類似於http://stackoverflow.com/questions/7666149/command-substitution-within-sed-expression – tripleee