Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何替换文件';以某个数字开头的数字是什么?_Linux_Bash_Shell_Filenames - Fatal编程技术网

Linux 如何替换文件';以某个数字开头的数字是什么?

Linux 如何替换文件';以某个数字开头的数字是什么?,linux,bash,shell,filenames,Linux,Bash,Shell,Filenames,我希望将文件命名为177.jpg、178.jpg等等,以177.jpg开头。 我使用此选项将它们从1重命名为文件量: ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done 如何修改这个?但全新的脚本也会很棒。Bash可以为您做简单的数学运算: mv "$f" $(( n + 176 )).jpg 只希望没有文件名包含换行符 有比解析ls的输出更安全的方法,例如迭代扩展通配符: n=177 for f in * ; do mv

我希望将文件命名为177.jpg、178.jpg等等,以177.jpg开头。 我使用此选项将它们从1重命名为文件量:

ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done 

如何修改这个?但全新的脚本也会很棒。

Bash可以为您做简单的数学运算:

mv "$f" $(( n + 176 )).jpg
只希望没有文件名包含换行符

有比解析
ls
的输出更安全的方法,例如迭代扩展通配符:

n=177
for f in * ; do
    mv "$f" $(( n++ )).jpg
done

Bash可以为您做简单的数学运算:

mv "$f" $(( n + 176 )).jpg
只希望没有文件名包含换行符

有比解析
ls
的输出更安全的方法,例如迭代扩展通配符:

n=177
for f in * ; do
    mv "$f" $(( n++ )).jpg
done
这应该行得通

#!/bin/bash
c=177;
for i in `ls | grep -v '^[0-9]' | grep .png`; # This will make sure only png files are selected to replace and only the files which have filenames which starts with non-numeric
 do
     mv "$i" "$c".png;
    (( c=c+1 )); 
done
这应该行得通

#!/bin/bash
c=177;
for i in `ls | grep -v '^[0-9]' | grep .png`; # This will make sure only png files are selected to replace and only the files which have filenames which starts with non-numeric
 do
     mv "$i" "$c".png;
    (( c=c+1 )); 
done

./1script.sh:第4行:意外标记附近的语法错误
mv'
/1script.sh:第4行:
mv$i$c.jpg;'看起来你在复制粘贴时出现了换行,因此出现了错误。你是说注释中出现了
错误-不,只是在这里:我试图在注释中插入
。它对我非常有效不确定你的版本有什么问题我一定是搞错了什么,现在没事了,谢谢../1script.sh:第4行:意外标记附近出现语法错误
mv'
/1script.sh:第4行:
mv$i$c.jpg;'看起来你在复制粘贴时出现了换行,因此出现了错误。你的意思是评论中的
吗?不,只是在这里:我试图在评论中插入
。它对我非常有效。我不确定你的版本出了什么问题。我一定是搞错了什么,现在没事了,谢谢。