假设我有一堆文件,其信息用下划线分隔:
昵称_用户名_真实姓名_日期_文件名.txt
我想为每个用户名创建一个目录并重命名该文件以摆脱nickname_username_date_并将该文件(现在名为name.txt)移动到它的用户名目录中
for f in *txt
sed -F_'{$nick $user $realname $date $filename} $f
$(mkdir -p $user)
$(rename 's/???/$filename/g' $fullFileName)
$(mv $fullFileName $user)
答案1
如果我理解正确的话,这是我的尝试:
for i in *.txt; do
IFS='_' read -r -a array <<< "$i"
mkdir -p "${array[1]}" && mv "$i" "${array[1]}"/"${array[4]}"
done
创建一个数组_
作为分隔符
IFS='_' read -r -a array <<< "$i"
使用用户名创建目录"${array[1]}"
并将文件名移动"${array[4]}"
到该目录。
mkdir -p "${array[1]}" && mv "$i" "${array[1]}"/"${array[4]}"
谨慎使用