2017-10-23 19 views
1

私はこれは簡単な作業になるでしょうが、私はそれにいくつか問題があります。特定の文字列の後のすべてを削除します

サンプル入力は

$ cat file.txt 
Brown Potatoes with Cheese 
Yellow Potatoes with Sugar and Cheese 

私は

で文字列後、すべてを削除するためにsedを使用したいので、出力は

Brown Potatoes 
Yellow Potatoes 

だろう私は、この正規表現を試してみましたそれは動作していないようです。

sed -i -e "s/with.*//g" file.txt 

どこが間違っていましたか?

+0

'-i'オプションを削除しても正しい出力が表示されますか?その場合はhttps://stackoverflow.com/questions/5694228/sed-in-place-flag-that-works-both-on-mac-bsd-and-linuxを参照してください...マイナーな提案です'with'の前にスペースを取り除きたいかもしれません – Sundeep

+0

-iオプションを削除しても、正しい出力が得られます。私は困惑している。 –

+0

入手しました。ありがとう! –

答えて

1
[email protected]:~$ sed -i.bak 's/with.*//g' file.txt 
[email protected]:~$ cat file.txt 
Brown Potatoes 

Yellow Potatoes 
[email protected]:~$ 
+0

ありがとう!それでおしまい。 –

+0

ちょっと、これがあなたの質問に答えるなら、それを答えとして受け入れてください:) – mathB

+0

ああ、すみません。私はここでは新人です。今すぐ受け入れられるもう一度ありがとうございます。 :) –

関連する問題