忍者ブログ
  ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
Admin*Write*Comment
[632]  [631]  [630]  [629]  [628]  [627]  [626]  [624]  [623]  [622]  [621

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。




使い方をすぐに忘れてググるんだけど案外、求める答えがないので記録しておきますね。

〆目的
ファイルBの中にファイルAに列記した文字列があるかどうかを確認し、あれば標準出力する
ファイルAは改行コードで区切られた文字列分探し出す。

〆ソースコード
------------------------------------------------------------
#!/bin/bash
file_a="./word.lst"
file_b="./text.txt"

while read line
do
    awk -v str=$line '{if ($0 == str){print $0}}'
done < ${file_a}
------------------------------------------------------------

[-v]がミソ。
awk構文(シングルクォート内)でシェル変数を展開するのではなく、
awk構文に入る前にawk変数を定義してしまえば、エスケープの嵐にあわなくてすみます。
複数のシェル変数を渡す場合は[-v]を複数使えば実現できます。


拍手

PR



COMMENT
Name
Title
Color
Mail
URL
Text
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret

TRACKBACK
TrackbackURL:
ブログ内検索
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
カウンター
最新コメント
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
ブログパーツ
アバター
Copyright © アナログを愛するデジタル生活館 All Rights Reserved.
photo by Kun material by Atelier Black/White Template by Kaie
忍者ブログ [PR]