Shell
複製順序文件
我有 12 個名為
dmp_000
,dmp_001
等的文件,一直到dmp_011
. 我想按順序將它們全部複製到rdmp_000
、rdmp_001
等,以便編號的文件一致。必須有一個簡單的方法來做到這一點,而不是單獨?
我使用此命令生成一些範例數據
% for i in `seq 0 11`;do touch dmp_$(printf "%03d" $i);done % ls dmp_000 dmp_001 dmp_002 dmp_003 dmp_004 dmp_005 dmp_006 dmp_007 dmp_008 dmp_009 dmp_010 dmp_011
要復製文件並保留原始文件修改/創建日期:
% for i in dmp*;do cp -p "$i" "r${i}";done % ls dmp_000 dmp_002 dmp_004 dmp_006 dmp_008 dmp_010 rdmp_000 rdmp_002 rdmp_004 rdmp_006 rdmp_008 rdmp_010 dmp_001 dmp_003 dmp_005 dmp_007 dmp_009 dmp_011 rdmp_001 rdmp_003 rdmp_005 rdmp_007 rdmp_009 rdmp_011
將文件 wdmp* 移動到 rdmp*
% for i in wdmp*;do newname=$(echo $i|sed 's/^w/r/'); mv "$i" "$newname";done
注意:您也可以使用該命令使用@warl0ck 的答案。
rename