今、awkを使ったシェルスクリプトを作っています。
aaa bbb ccc ddd
ee ff gggg hhh
といったファイルから、
bbb,ccc
ff,gggg
を取り出したいと思っています。
そこで、以下のコマンドをwhileでまわして、$iを増加させることにより、
ファイルを一行ずつ読み取り、目的の列を取り出したく思っています。
A=`cat sample.txt|awk 'NR == $i {print NR, $2;}'`
B=`cat sample.txt|awk 'NR == $i {print NR, $3;}'`
ところが、awkコマンドの中の$iがシングルクォーテーションでくくられているので、
変数展開されなくて困っています。
何かよい方法があればご教授いただけますでしょうか?
No.2ベストアンサー
- 回答日時:
シングルが使えないならダブルでくくるとか
A=`cat sample.txt|awk "NR == $i {print NR, \\$2;}"`
-vオプションでawkの変数に代入するとか
A=`cat sample.txt|awk -v i=$i 'NR == i {print NR, $2;}'`
ですけど、そもそも、1行ずつ取り出すのに catで全部出力→awkで全部入力→1行だけ出力 って効率悪すぎませんか?
同じwhileを使うにしても
cat sample.txt | while read line
do
A=`echo ${line} |awk '{print $2;}'`
B=`echo ${line} |awk '{print $3;}'`
...
と1行ずつ処理するとか、bashだったら
cat sample.txt | while read line
do
declare -a a=($line)
A=${a[0]}
B=${a[1]}
と配列を使うとか
行番号が欲しかったら cat -n sample.txtにして $1に行番号を入れるか、i=`expr $i + 1` で行番号を数えるとか
あるいは
awk '{ NRと$2と$3を使った処理 }' sample.txt
とawkだけで済ましてしまう、とか
教えていただいた、下記の方法で作成しました。ずいぶんと見やすくなったと思います。
cat sample.txt | while read line
do
A=`echo ${line} |awk '{print $2;}'`
B=`echo ${line} |awk '{print $3;}'`
素人の質問に、ご丁寧に回答を下さってありがとうございました。
精進します。今後ともよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Xperiaで ' と " の出し方...
-
自宅トイレットペーパーが毎日1...
-
M社製2重化PLCとPCとの通信が遅...
-
トイレットペーパーはシングル...
-
アメリカのビルボード誌シング...
-
今、awkを使ったシェルスクリプ...
-
ジェイミー・スコット?
-
リードシングルって何ですか?
-
アポストロフィとシングルクォ...
-
ディズニーリゾートのシングル...
-
世界に一つだけの花
-
ジャニーズのファンって
-
THE BOOM 「島唄」の...
-
免許の合宿で2週間友達とホテル...
-
EXILE Lovers Againオーディシ...
-
『ドリームガールズ』を見てい...
-
シングルCDって、今のノート...
-
真心ブラザーズのサマーヌード...
-
いつから12cmのみだけにな...
-
めざましテレビで放送されたラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自宅トイレットペーパーが毎日1...
-
Xperiaで ' と " の出し方...
-
トイレットペーパーシングル派...
-
SMAPの「世界に一つだけの...
-
いつから12cmのみだけにな...
-
シングルCDって、今のノート...
-
SPEEDの曲
-
吉宗初心者です。吉宗のダブル...
-
『間抜けな』邦題。
-
伝説のコンビニという歌
-
EXILE Lovers Againオーディシ...
-
世界に一つだけの花
-
Sixpence None The Richerの「K...
-
8cmの貴重盤
-
AKB48が売れたきっかけは?
-
レンタルでアーティストはちゃ...
-
「シングルベッド」の意味って...
-
the band apartのfool proofの...
-
BUMP OF CHICKENの車輪の唄の特...
-
プリンスのラズベリーベレーに...
おすすめ情報