我需要一个shell脚本来搜索和替换文件。详情如下。 Pl帮助
AllResponses_11003_6_20_2013.txt
AllResponses_11004_6_20_2013.txt
AllResponses_11005_6_20_2013.txt
AllResponses_11006_6_20_2013.txt
AllResponses_11007_6_20_2013.txt
AllResponses_11008_6_20_2013.txt
AllResponses_11009_6_20_2013.txt
AllResponses_11010_6_20_2013.txt
AllResponses_11011_6_20_2013.txt
AllResponses_11012_6_20_2013.txt
AllResponses_11003_6_20_2013.txt
AllResponses_11004_6_20_2013.txt
AllResponses_11005_6_20_2013.txt
AllResponses_11006_6_20_2013.txt
AllResponses_11007_6_20_2013.txt
Pl帮助
但是如何在11003到11100之间的数百个数字中传递数字为11003,11004,11005,11006,11007
帮助......
export SRCDIR = / informat / PowerCenter / 9.1.0 / server / infa_shared / SrcFiles / CSI / historical
export TGTDIR = / informat / PowerCenter / 9.1.0 / server / infa_shared / SrcFiles / CSI / incoming
导出FILEDT = 6_15_2013
表示“$ @”中的FILE_NUM;
做
GET_FNAME =“AllResponses _”$ {FILE_NUM}“_”$ {FILEDT}“* .txt”
if [-f $ {GET_FNAME}];那么
cp $ {SRCDIR} / $ {GET_FNAME} $ {TGTDIR}
其他
echo $ {SRCDIR}中缺少文件$ {GET_FNAME}
触摸$ {TGTDIR} / AllResponses _ $ {FILE_NUM} _ $ {FILEDT} .txt
回显“在$ {TGTDIR}中创建了$ {GET_FNAME}触摸文件”
完成了
如上所述完成并执行为ksh -x csi_file_copy_bala.ksh 11003 11004 99999
但它总是要去其他条款..请帮助我...
我的文件nales看起来像...... AllResponses_11004_6_11_20132_18_00AM1.txt
Pl帮我...因为我的时间不多了
提前致谢
答案 0 :(得分:1)
假设你的意思是bash:
开头的骷髅:
luk32:~/projects/tests$ cat ./process_files.sh
#!/bin/bash
DEST=./copies
for num in "$@"; do
file="AllResponses_"$num"_6_20_2013.txt"
if [ -f $file ]; then
cp $file $DEST
else
touch $DEST/$file
fi
done;
它将数字作为参数,然后尝试在当前工作目录中查找具有给定模式的文件。如果找到复制到目标文件夹,则为touch
文件。
你可能需要修改一下才能比硬编码的日期处理更友好。
示例:
luk32:~/projects/tests$ ls -l
total 40116
-rw-r--r-- 1 luk32 luk32 4 cze 21 11:33 AllResponses_1_6_20_2013.txt
-rw-r--r-- 1 luk32 luk32 5 cze 21 11:33 AllResponses_3_6_20_2013.txt
-rw-r--r-- 1 luk32 luk32 0 cze 21 11:32 AllResponses_4_6_20_2013.txt
luk32:~/projects/tests$ ls -l ./copies/
total 0
luk32:~/projects/tests$ ./process_files.sh 1 2 3 4
luk32:~/projects/tests$ ls -l ./copies/
total 8
-rw-r--r-- 1 luk32 luk32 4 cze 21 11:35 AllResponses_1_6_20_2013.txt
-rw-r--r-- 1 luk32 luk32 0 cze 21 11:35 AllResponses_2_6_20_2013.txt
-rw-r--r-- 1 luk32 luk32 5 cze 21 11:35 AllResponses_3_6_20_2013.txt
-rw-r--r-- 1 luk32 luk32 0 cze 21 11:35 AllResponses_4_6_20_2013.txt