我有一个包含如下文件名的文件:
my_cool_file.xxx
my_cool_file2.xxx
my_cool_file3.xxx
我有一个文件夹:
some_file.xxx
some_file2.xxx
some_file3.xxx
我想有一个bash脚本从文件名文件中取一行并重命名该文件夹中的一个文件。
有办法做到这一点吗?
答案 0 :(得分:2)
注意:这个答案一般不太好,但它解决了OP的问题。
所有文件是否以_file.xxx或_fileN.xxx结尾?
基本上,你想改变文件名的前缀是什么?
假设我正确理解您的问题,并且没有数字的文件在file_list.txt 中是最后一个,以下应该可以解决这个问题
COUNTER=0
for FILE in `ls *.xxx | sort`; do
COUNTER=$(($COUNTER+1))
echo Moving $FILE to `sed -n ${COUNTER}p file_list.txt`
#mv "${FILE}" `sed -n ${COUNTER}p file_list.txt`
done
如果您希望实际移动发生,请在mv
行注释。