指定された行のすべての文字(数値を除く)を印刷します。

指定された行のすべての文字(数値を除く)を印刷します。

ファイルがあります。

ファイル1:

Edward-201-singer
Andrew-James-404-writer

出力が欲しいです。

Edward
Andrew-James

ベストアンサー1

数字が見つかるまで、1行のすべての文字が欲しいとします。その後、-その数値の前のオプションの値も除外します。

sed 's/-\{0,1\}[[:digit:]].*//' your-file

(GNUの場合は、または他のものにsed置き換えることができます)。\{0,1\}\?sed -E 's/-?[[:digit:]].*//'

これはあなたの例を処理する必要がありますが、詳細がなければファイルのすべてを処理するとは言えません。

ファイルを所定の位置に変更したい場合、一部のsed実装では、-i.baksedコマンドにaを追加するか(ファイルをにバックアップしyour-file.bakて変更your-file> new-file、最後にaを追加してnew-file結果を書き込むことができます。

おすすめ記事