ディレクトリ内のディレクトリとファイルの名前を再帰的に変更する作業を行っています。
alan/
alan_0001.txt
alan_0002.txt
andy/
andy_0001.txt
andy_0002.txt
andytwo/
andytwo_0001.txt
andytwo_0002.txt
ファイル名の新しい情報を提供するタブ区切りファイル (できればここで再現) があります。例えば
alan 123_123 Alan's Place
andy 124_010 Andy's Place
andytwo 125_001 Andy's Second Place
次のシェル スクリプトを作成しましたが、スクリプトの初期から最後に検索する値を渡す方法がわかりません。
#!/bin/sh
FILE="sample-list.txt"
exec 3<&0
exec 0<$FILE
while read line
do
echo $line
oldName=`echo "$line" | cut -f1`
adminDB=`echo "$line" | cut -f2`
title=`echo "$line" | cut -f3`
echo "$oldName is old, his number is $adminDB, and the title is $title"
echo "renaming files"
# echo find -name '{$oldName}*'
echo "`find ./ -name '${oldName}*'`"
done
exec 0<&3
ワイルドカードをオン$oldName
にして andy_0001、_0002 ファイルをキャッチし、それらの名前を変更したいと思いますfind ./ -name ${oldName}* -exec rename $oldName $adminDB {} \;
前もって感謝します!