100 個のサブフォルダーがあるフォルダーがあり、各フォルダーには .csv を追加する 2 つのファイルが含まれています。私はbashスクリプトを書いた:
#!/bin/bash
for i in * ; do
cd $i
for k in *; do
mv "$k" "${f%.*}.csv"
done
cd ..
done
私のファイルはすべてどこに行きましたか?どうやって受け取ることができますか?
答え1
mv "$k" "${f%.*}.csv"
変数が定義されていないため、f
置換全体は空の文字列と同じではなく、コマンドはになりますmv "$k" ".csv"
。
各ディレクトリから1つのファイルを除いてすべてが失われました。最後の名前は今です.csv
。先頭にあるドットは、ls -a
そのファイルを表示するために使用されるファイルを隠すため、気付かない可能性があります。 GUIファイルマネージャには、通常隠しファイルを表示するオプションもあります。