人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: gatcch
●カテゴリ:コンピュータ
✍キーワード:333 555 666 777 ABC
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mook
●35ポイント

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

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

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

◎質問者からの返答

ありがとうございます。

まさに、これです。


2 ● whata
●35ポイント

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

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

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

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ