Linux/Unix系のシェルについて教えてください。


あるファイルから特定の文字列で検索し、特定文字列以降
だけを出力することは可能でしょうか。

例、
abc.txt

123 456 789 hoge 123 456 789
234 567 891 hoge 234 567 891
222 333 444 hoge 555 666 777

のファイルの場合、
シェル実行後に、

hoge 123 456 789
hoge 234 567 891
hoge 555 666 777

の結果だけを出力したのですが。

回答の条件
  • 1人2回まで
  • 登録:2007/07/02 12:36:16
  • 終了:2007/07/09 12:40:04

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/07/02 12:53:52

ポイント35pt

このようなことでしょうか。

grep 'hoge' aa.txt | sed s/'.*hoge'/'hoge'/g

コマンド sed 文字列の置換を行う

id:gatcch

ありがとうございます。

まさに、これです。

2007/07/02 14:13:28
id:whata No.2

whata回答回数1ベストアンサー獲得回数02007/07/02 13:05:19

ポイント35pt

cutコマンドを使ってはいかがでしょうか。

下の例では、区切りをスペースで指定して、4列目以降を切り出しています。

$ cut -d ' ' -f 4- abc.txt

id:gatcch

ご回答ありがとうございます。

私の質問の仕方が悪かったのですが、

実はhogeの位置が4列目以降と固定されておりませんのでcutコマンドでは難しいようです。

2007/07/02 14:15:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません