3

我有一个包含如下文件名的文件:

my_cool_file.xxx
my_cool_file2.xxx
my_cool_file3.xxx

我有一个文件夹,其中包含:

some_file.xxx
some_file2.xxx
some_file3.xxx

我想要一个 bash 脚本从文件名文件中取出一行并重命名文件夹中的一个文件。

有没有办法做到这一点?

4

1 回答 1

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如果您希望实际移动发生,请在行中发表评论。

于 2010-05-23T23:32:05.957 回答