所以我有一堆文件,如:
Aaron Lewis - Country Boy.cdg
Aaron Lewis - Country Boy.mp3
Adele - Rolling In The Deep.cdg
Adele - Rolling In The Deep.mp3
Adele - Set Fire To The Rain.cdg
Adele - Set Fire To The Rain.mp3
Band Perry - Better Dig Two.cdg
Band Perry - Better Dig Two.mp3
Band Perry - Pioneer.cdg
Band Perry - Pioneer.mp3
我需要在bash或fish脚本中删除前导空格。
答案 0 :(得分:5)
要删除您提供的文件名中的前导空格字符,您可以使用:
IFS=$'\n'
for f in $(find . -type f -name ' *')
do
mv $f ${f/\.\/ /\.\/}
done
此:
bash
子字符串替换将每个文件移动到没有前导空格的文件名。答案 1 :(得分:0)
for x in \ * ; do
mv "$x" `echo "$x" | sed "s/^ +//"`
done
这很快又脏。
答案 2 :(得分:0)
cat <file> | sed -e 's/^[ ]*//'
应该做的伎俩。捕获标准输出并写入文件。
答案 3 :(得分:0)
您不需要sed
。只需使用bash
字符串函数:
for file in /path/to/files/*;
do mv "$file" "${file# *}";
done