複数ファイルを処理するときのシェルスクリプトメモ。
カレントディレクトリのファイルを処理。
#!/bin/sh
files=(`ls -1`)
for file in ${files[@]}
do
# ここに処理を書く。
done
exit 0
これと awk を組み合わせる時のメモ
#!/bin/sh
LINE=2
files=(`ls -1`)
for file in ${files[@]}
do
cat $file | awk --assign awk_var="$LINE" '
{
# 条件を書かないと必ず実行
}
NR == 1 {
# 1 行目の場合の処理
}
NR == awk_var {
# 2 行目の場合の処理
# シェルの変数を assign オプションで awk に渡す
}
{
# next を呼ぶとパターンマッチングせずに次の行を読み込む
next
}
END {
# テキストの最後に実行される処理
}
'
done
exit 0
■ 参考
http://shellscript.sunone.me/awk.html
● 複数, ファイル, 処理, シェルスクリプト, file, for, ファイルリスト

0 件のコメント:
コメントを投稿