35

ストリーム内のテキストの各行から最初の単語を削除するにはどうすればよいですか?

例えば、

$ cat myfile
some text 1
some text 2
some text 3

私が欲しい:

$ cat myfile | magiccommand
text 1
text 2
text 3

Bashを使用してこれを行うにはどうすればよいですか? を使用することもできますawk '{print $2 $3 $4 $5 ....}'が、それは面倒で、すべての null 引数に余分なスペースが発生します。私は sed がこれを行うことができるかもしれないと思っていましたが、この例は見つかりませんでした。

4

5 に答える 5

77

あなたの例のテキストに基づいて、

cut -d' ' -f2- yourFile

仕事をするべきです。

于 2011-10-18T22:19:09.537 に答える
14

それはうまくいくはずです:

$ cat test.txt
some text 1
some text 2
some text 3

$ sed -e 's/^\w*\ *//' test.txt
text 1
text 2
text 3
于 2011-10-18T22:01:30.907 に答える
10

ここに使用するソリューションがありますawk

awk '{$1= ""; print $0}' yourfile 
于 2016-08-16T22:33:23.003 に答える
6

これを実行します:

sed "s/^some\s//g" myfile

パイプを使用する必要さえありません。

于 2011-10-18T22:00:30.690 に答える