Linux 使用脚本更改文件名
我有很多文件,我想将这些名称更改为文件_1-1的文件,直到达到文件_8-5的文件40 我编写了这段代码,但它删除了所有文件,并将最后一个文件转换为file1Linux 使用脚本更改文件名,linux,bash,Linux,Bash,我有很多文件,我想将这些名称更改为文件_1-1的文件,直到达到文件_8-5的文件40 我编写了这段代码,但它删除了所有文件,并将最后一个文件转换为file1 pwd for i in {1..8} do for j in {1..5} do for k in {1..40} do (cd ./prof/ && mv file_$i-$j.dat file$k.dat) done
pwd
for i in {1..8}
do
for j in {1..5}
do
for k in {1..40}
do
(cd ./prof/ && mv file_$i-$j.dat file$k.dat)
done
done
done
我想你只需要在
prof/
中去一次。然后,您可以从i
和j
计算k
。在bash中:
cd prof
for i in {1..8}
do
for j in {1..5}
do
k=$(( ($i-1) * 5 + $j ))
mv pixel_$i-$j.ps pixel$k.ps
done
done
它没有生成正确的文件。您是否有文件
pixel\u 1-1
<代码>像素\u 8-5在文件夹prof/
中?是的,作为像素\u 1-1、…、像素\u 1-5、像素\u 2-1、…、像素\u 2-5等等。您的shell是否是bash?你可以通过echo“$SHELL”
知道,我更新了帖子,提出了计算k
的替代方法。它不会删除文件,而是将所有文件移动到pixel1.ps
。尽管我怀疑它每次都能与cd./prof
一起使用。