名前が最後のサブディレクトリであるすべてのディレクトリを検索したいと思います。文書をクリックし、名前を次に変更します。医者。私の名前をどのように変更できますか?
私は最初の部分を持っています:
find -type d -name 'doc'
たとえば、次のディレクトリパスを返します。
./foo/bar/doc
答え1
find . -depth -type d -name doc -exec sh -c 'mv "${0}" "${0%/doc}/Doc"' {} \;
答え2
答え3
ディレクトリを大文字で表示し、4+ を使用する場合は、次の操作をbash
行う必要があります。
find . -type d -name doc -print0 \
| while read -rd $'\0' file; do
dname=$(dirname "$file")
fname=$(basename "$file")
mv "$file" "$dname"/"${fname^}"
done
\0
珍しいファイル名を正しく処理するように注意してください。
修正する
〜のようにjw013コメントで指摘した内容が${var^}
期待どおりに機能しません。パスをディレクトリとファイル名に分割し、^
演算子を$fname
。
ところで、ありがとうございます。急ぐ不足しているパイプを追加するために使用されます。