5

ファイルを調べて、各行の最後の単語を削除しようとしています。現在、私はコマンドを使用しています

sed 's/^*\n//' old.txt > new.txt

しかし、old.txt が new.txt と同じであることが明らかになりつつあります。助けてくれてありがとう、そして質問を明確にすることができるかどうか教えてください。また、「単語」を定義するために、スペースを使用しています。

4

2 に答える 2

10

以下を試してください。\w*ファイル内の最後の単語に一致し$、検索を行末に固定します。

sed s/'\w*$'// old.txt > new.txt

old.txt が new.txt として出力される理由は、正規表現^*\nが old.txt のどの行とも一致しないためです。

于 2012-04-18T23:15:36.053 に答える
1

以下はインライン編集です。何かを実行する前に、ファイルをバックアップしてください。

sed -i 's/[[:alnum:]]*$//' /yourfile

OS X で作業している場合は、次のことを試してください。

sed -i '' 's/[[:alnum:]]*$//' /yourfile

元のファイルに直接書き戻すのではなく、出力を印刷したい場合。

sed 's/[[:alnum:]]*$//' /yourfile
于 2012-04-19T00:57:04.363 に答える