bash を想定しています。
ファイルのリストアップ
ls コマンドでフルパスを得る方法が無いようなので、find コマンドを使います。
find /home/ec2-user -type f
配列に格納
ループで処理する為に、ファイルのリストを mapfile コマンドで配列に格納します。
mapfile -t files_array < <(find /home/ec2-user -type f)
ループで処理する
“${files_array[@]}” で配列の要素を展開してループします。
処理はファイルの先頭5行を出力するものにしてみました。
for file in "${files_array[@]}"; do
head -t 5 "$file"
done
完成したスクリプト
#!/bin/bash
# findコマンドの結果を配列に格納する
mapfile -t files_array < <(find /home/ec2-user -type f)
# ファイルの先頭5行を表示する
for file in "${files_array[@]}"; do
head -t 5 "$file"
done
コメント