Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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/0/xml/14.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
bash重命名保留文件扩展名,name变量_Bash - Fatal编程技术网

bash重命名保留文件扩展名,name变量

bash重命名保留文件扩展名,name变量,bash,Bash,我有一个名为image.jpg的文件,但扩展名可以是另一个 我想用bash重命名这些文件 保留扩展名,但名称位于contains变量中 前 var1=“猫” var2=“狗” 我想我应该在文件夹中查找名为image***的文件,复制扩展名,然后在新名称中使用变量名+扩展名 namefinal=$random ext=`echo $ls image*.*` echo $ext EXTENSION=`echo "$ext" | cut -d'

我有一个名为image.jpg的文件,但扩展名可以是另一个

我想用bash重命名这些文件

保留扩展名,但名称位于contains变量中

var1=“猫”

var2=“狗”

我想我应该在文件夹中查找名为image***的文件,复制扩展名,然后在新名称中使用变量名+扩展名

     namefinal=$random

      ext=`echo $ls image*.*`

        echo $ext
        EXTENSION=`echo "$ext" | cut -d'.' -f2`

    echo $EXTENSION

mv $ext $random.$EXTENSION

好了!,谢谢。

假设
$file
包含“image.png”:


假设
$file
包含“image.png”:


输入名称到输出名称的映射来自哪里?您如何知道在哪个文件上使用哪个名称?请参阅,在脚本中使用
ls
几乎总是错误的(出于中的原因),
ls=/bin/ls
也是错误的,然后使用
$ls
代替运行
ls
(一般来说,对于任何命令,shell在第一次查找后都会自动进行缓存,因此自己进行缓存只会使脚本更难阅读,并增加可能出现错误的可能性——没有显著的性能改进;如果使用
which
进行查找,则会主动降低速度,这比让shell搜索路径本身)。输入名称到输出名称的映射从何而来?您如何知道在哪个文件上使用哪个名称?请参见,在脚本中使用
ls
几乎总是错误的(出于中的原因),
ls=/bin/ls
,然后使用
$ls
代替运行
ls
(一般来说,对于任何命令,shell在第一次查找后都会自动进行缓存,因此自己进行缓存只会使脚本更难阅读,并增加可能出现错误的可能性——没有显著的性能改进;如果使用
which
进行查找,则会主动降低速度,这比让shell搜索路径本身)。没有人要求您这样做。@shoryunix,为什么您认为信息使您无法使用此答案?没有人要求您这样做。@shoryunix,为什么您认为信息使您无法使用此答案?
     namefinal=$random

      ext=`echo $ls image*.*`

        echo $ext
        EXTENSION=`echo "$ext" | cut -d'.' -f2`

    echo $EXTENSION

mv $ext $random.$EXTENSION
mv "$file" "$var1.${file##*.}"