2011-10-18 8 views
21

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

$cat myfile | magiccommand 
text 1 
text 2 
text 3 

で欲しいもの、すなわち

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

?私はawk '{print $ 2 $ 3 $ 4 $ 5 ....}'を使うことができましたが、それは面倒で、すべてのヌル引数に余分なスペースが必要になります。私はsedがこれを行うかもしれないと思っていましたが、私はこれの例を見つけることができませんでした。どんな助けもありがとう!ありがとう!

答えて

48

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

cut -d' ' -f2- yourFile 

は、仕事をする必要があります。ここで

+0

パーフェクト!ありがとうございました。 – Trcx

4

実行このsed "s/^some\s//g" myfileあなたも動作するはずパイプ

+0

これは何ですか私は探していた...涼しい – Satish

8

を使用する必要はありません。

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

$ sed -e 's/^\w*\ *//' test.txt 
text 1 
text 2 
text 3 
6

関係なく、使用することを存在するどのように多くのスペーススペースまで、最初の単語を削除しないようにawk

awk '{$1= ""; print $0}' yourfile 
0

を使用してソリューションです:sed 's/[^ ]* *//'

例:

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

$ cat myfile | sed 's/[^ ]* *//' 
text 1 
text 2 
text 3 
関連する問題