ファイルを調べて、各行の最後の単語を削除しようとしています。現在、私はコマンドを使用しています
sed 's/^*\n//' old.txt > new.txt
しかし、old.txt が new.txt と同じであることが明らかになりつつあります。助けてくれてありがとう、そして質問を明確にすることができるかどうか教えてください。また、「単語」を定義するために、スペースを使用しています。
以下を試してください。\w*
ファイル内の最後の単語に一致し$
、検索を行末に固定します。
sed s/'\w*$'// old.txt > new.txt
old.txt が new.txt として出力される理由は、正規表現^*\n
が old.txt のどの行とも一致しないためです。
以下はインライン編集です。何かを実行する前に、ファイルをバックアップしてください。
sed -i 's/[[:alnum:]]*$//' /yourfile
OS X で作業している場合は、次のことを試してください。
sed -i '' 's/[[:alnum:]]*$//' /yourfile
元のファイルに直接書き戻すのではなく、出力を印刷したい場合。
sed 's/[[:alnum:]]*$//' /yourfile