我的问题与移动到目标文件夹时替换文件名有关>>
echo "src_filename_final_array:::${src_filename_final_array[@]}"
显示以下内容
SRC1_VEX_V4_20190915.txt SRC1_VEX_V4_20190915.ctl
数组
src_filename_final_array
包含以上两个文件。
已写入mv
命令
mv "${src_filename_final_array[@]}" $src_file_InProcess_folder
是否可以在单个
mv
命令中将文件名SRC1_VEX_V4_20190915.txt SRC1_VEX_V4_20190915.ctl
更改为SRC1_VEX_20190915.txt SRC1_VEX_20190915.ctl
删除版本号,可以是V4 / v12 /或任何开头的V
任何人都可以提出建议这样做的最佳方法吗?
提前感谢。
关于,Prasad S Billahalli
我的问题与在移动到目标文件夹回显时替换文件名有关” src1_VEX_V4_20190915.txt ...”之后显示“ src_filename_final_array ::: $$ src_filename_final_array [@]}”显示如下:
src_filename_final_array=(SRC1_VEX_V4_20190915.txt SRC1_VEX_V4_20190915.ctl)
for i in "${arr[@]}"
do
new_file=`echo "$i" | sed 's/V[0-9]_//g'`
mv "$i" "$new_file"
done
[cloudera@quickstart sub1]$ ls -lrt
total 8
drwxrwxr-x 2 cloudera cloudera 4096 Oct 31 00:17 sub2
-rw-rw-r-- 1 cloudera cloudera 177 Oct 31 23:41 table_list.txt
-rw-rw-r-- 1 cloudera cloudera 0 Nov 3 23:30 SRC1_VEX_V4_20190915.txt
-rw-rw-r-- 1 cloudera cloudera 0 Nov 3 23:31 SRC1_VEX_V4_20190915.ctl
之后:
[cloudera@quickstart sub1]$ for i in "${arr[@]}"
> do
> new_file=`echo "$i" | sed 's/V[0-9]_//g'`
> mv "$i" "$new_file"
>
> done
[cloudera@quickstart sub1]$ ls -lrt
total 8
drwxrwxr-x 2 cloudera cloudera 4096 Oct 31 00:17 sub2
-rw-rw-r-- 1 cloudera cloudera 177 Oct 31 23:41 table_list.txt
-rw-rw-r-- 1 cloudera cloudera 0 Nov 3 23:30 SRC1_VEX_20190915.txt
-rw-rw-r-- 1 cloudera cloudera 0 Nov 3 23:31 SRC1_VEX_20190915.ctl