こんにちは。
find
コマンドで検索した複数のファイルを処理するシェルスクリプトを作りました。
while read
を使ってファイルを一つずつループ処理し、下記例は ls
コマンドのような働きをします(極めて多数のファイルにも対応可能のはず)。
$ ./ls.sh "*.jpg"
./1.jpg
./2.jpg
./3.jpg
ls.sh
#!/bin/sh
filePattern="$1"
find . -maxdepth 1 -name "$filePattern" | while read -r fname
do
echo "$fname" | grep -q "^/" && fname="."$fname
echo "$fname"
done
exit $?
上記の echo $fname|grep "^/"
の箇所は、ファイル名先頭の .
の欠落の発生に気が付いたので善後策です(まだ原因は調べていません)。