2016-06-20 18 views
0

リストのほとんどの行でbashを使用して文字列を削除する方法はありますか?リスト内の反復文字列をbashで削除する

E.G.

私のリストは、次のようになります。

Rex Rocket Steam Game 
Magdalena Steam Game 
FLASHOUT 2 Steam Game 
Falcon 
Girls Like Robots Steam Game 
The Land Of Lamia Steam Game 
Aeon Command 

そして、私はそのように終了するすべての行からすべての「スチームゲーム」の文字列を削除したいです。

私はスーパー錆びていますが、これはとても簡単ですが、私はそれを理解できません。

+1

'Steam Game'はハードコードされた文字列か、それとも入力から推測されるはずですか? – anishsane

答えて

4

多くのオプションがありますが、sedはおそらく最も単純です。

$ sed 's/Steam Game$//' foo.txt   
Rex Rocket 
Magdalena 
FLASHOUT 2 
Falcon 
Girls Like Robots 
The Land Of Lamia 
Aeon Command 

あなたはない" Steam Game"削除する"Steam Game"を求めました。スペースも削除したい場合は、正規表現にスペースを追加してください:'s/ Steam Game$//'。複数のスペースがある場合は、's/ *Steam Game$//'を使用してください。

+0

これは、削除されたすべての行の最後にスペースを残します。 –

+0

ありがとう!それは素晴らしい作品です。問題は、コマンドをファイルにリダイレクトするときに、すべての行からすべての改行を削除することです。何か案は? – te0k

+0

これは本当に奇妙です。どのくらいあなたはそれを実行していますか?あなたはバックティックを使わないのですか? – rrauenza

関連する問題