Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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/reporting-services/3.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 移动并重命名文件-bash脚本_Linux_Bash_Shell_Unix - Fatal编程技术网

Linux 移动并重命名文件-bash脚本

Linux 移动并重命名文件-bash脚本,linux,bash,shell,unix,Linux,Bash,Shell,Unix,我不熟悉unixshell/bash脚本。我的要求如下: 当前目录包含许多动态文件夹,数据文件仅在最后一个子文件夹中可用 我需要将数据文件移动到主文件夹,并将数据文件的名称重命名为当前目录的名称 你能帮我写一下bash脚本吗 -更新- 我尝试了以下操作以将文件移动到父目录: find . -mindepth 2 -type f -print -exec mv {} . \; 在尝试了许多选择之后,以下方法奏效了 find . -mindepth 2 -type f -pri

我不熟悉unixshell/bash脚本。我的要求如下:

当前目录包含许多动态文件夹,数据文件仅在最后一个子文件夹中可用

我需要将数据文件移动到主文件夹,并将数据文件的名称重命名为当前目录的名称

你能帮我写一下bash脚本吗

-更新-

我尝试了以下操作以将文件移动到父目录:

     find . -mindepth 2 -type f -print -exec mv {} . \;

在尝试了许多选择之后,以下方法奏效了

     find . -mindepth 2 -type f -print -exec mv {} . \;
     dirFullPath=`pwd`
     fileName=`echo $dirFullPath | awk -F"/" '{print $(NF)}'`
     mv *.0 $fileName.tab

任何其他更好的解决方案都将不胜感激,谢谢

你试过使用find吗?你试过什么吗?动态文件夹的名称是什么?数据文件的原始名称是什么?@choroba:文件夹有垃圾名称,如1e4be6fdbea37f8d-ca16ccde69d5779f_476244713_data.0如果有多个数据文件,如何将它们重命名为相同的目录名?最后一个子文件夹只有一个文件,始终是