ファイルには、ファイル自体に基づいてサブフォルダに移動するフォルダがあります。ファイル形式は次のとおりです。例外のあるフォルダにファイルを移動する
名/ FILE.EXT:私は成功した構造をフォルダに変換することができた
for i in `ls | grep _`; do
mkdir -p `echo $i | cut -f1 -d "_"`
mv $i `echo $i | cut -f1 -d "_"`/`echo $i | cut -f5 -d "_"`
mv $i `echo $i | cut -f1 -d "_"`/`echo $i | cut -f4 -d "_"`
done
:このコード行を利用
Name_metadata_metadata_File.ext
私はファイル(Name_str_metadata_metadata_File.ext)に余分な文字列を持つファイルをいくつか持っており、それらを削除したいと考えています。私は、コード行にif文を追加する問題に取り組んでいます。
for i in `ls | grep _`; do
mkdir -p `echo $i | cut -f1 -d "_"`
if `echo $i | cut -f2 -d "_"` == "str"; then
mv $i `echo $i | cut -f1 -d "_"`/`echo $i | cut -f5 -d "_"`
else
mv $i `echo $i | cut -f1 -d "_"`/`echo $i | cut -f4 -d "_"`
fi
done
私はif文を間違って記述していますか?
1行に入れる必要がありますか?さらに、lsの出力に頼るべきではありません –