1、按照指定的某段路径,进行数据拷贝。
=> head Assembly.txt /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBARABPEI-119/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBCRABPEI-135/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBDRAAPEI-79/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBFRABPEI-126/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBGRABPEI-127/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBHRABPEI-138/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBIRAAPEI-84/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBJRAAPEI-85/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBKRAAPEI-76/e3/gap/e3.scafseq_200 /ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I809_FCD05CDACXX_L3_INSbusTBLRAAPEI-77/e3/gap/e3.scafseq_200
#在当前目录把liushanlin/下的数据按照原相对路径进行同步拷贝
=> cat Assembly.txt|while read i;do a=`echo $i|awk -F ‘liushanlin/‘ ‘{print $2}‘`;b=`echo $a|awk -F ‘/[^/]*$‘ ‘{print $1}‘`;mkdir -p $b;rsync -avzP $i ./$b;echo -e "Finished:$i\t$b" >>rsync.log;done
2、解析路径获取文件名和目录名
获取文件名
#awk解法:用“/”做分隔符,然后打印出最后的那一部分。
resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F "/" ‘{print $NF}‘`
#官方解法(basename):Bash Shell本身提供了basename命令,可以直接获取路径名最后的文件名。
resFile=`basename /tmp/csdn/zhengyi/test/adb.log`
获取目录名
#awk解法:可以灵活的使用分隔符,混合正则表达式。
dirPath=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F ‘/[^/]*$‘ ‘{print $1}‘`
#awk+for循环的方法
echo /tmp/csdn/zhengyi/test/adb.log | awk ‘BEGIN{res=""; FS="/";}{ for(i=2;i<=NF-1;i++) res=(res"/"$i);} END{print res}‘
#官方解法(basename):Bash Shell本身提供了dirname命令,特别方便,可以直接获取路径对应的目录名。
dirPath=`dirname /tmp/csdn/zhengyi/test/adb.log`
时间: 2024-11-16 23:43:27