Shell 必须将一堆csv转换为req格式,并以相同的名称存储在其他位置
我有一些输入文件,Shell 必须将一堆csv转换为req格式,并以相同的名称存储在其他位置,shell,unix,Shell,Unix,我有一些输入文件,A_B_C_NFM001_20150729.CSV,A_B_C_NFM002_20150729.CSV,A_B_C_NFM003_20150730.CSV 在对输入文件执行以下转换后,我希望输出文件也与输入文件同名 我试过这个: #!/bin/bash TARGET=/path/transformed_dir var=`echo /home/dbadmin/Indus_Project/PING_STATUS/A_B_C_*.csv | grep -oP '(?<=_)\d
A_B_C_NFM001_20150729.CSV
,A_B_C_NFM002_20150729.CSV
,A_B_C_NFM003_20150730.CSV
在对输入文件执行以下转换后,我希望输出文件也与输入文件同名
我试过这个:
#!/bin/bash
TARGET=/path/transformed_dir
var=`echo /home/dbadmin/Indus_Project/PING_STATUS/A_B_C_*.csv | grep -oP '(?<=_)\d+(?=\.)'`
arr=($var)
for i in "${arr[@]}"
do
awk -F, 'NR==1 { for (i=2; i<=NF; i++) sn[i]=$i }
NR>1 { for (i=2; i<=NF; i++) print $1 "," sn[i] "," $i }' A_B_C_*_$i.csv > $TARGET/A_B_C_*_$i.csv
done
#/bin/bash
TARGET=/path/transformed\u dir
var=`echo/home/dbadmin/Indus_Project/PING_STATUS/A_B_C_*.csv|grep-oP'(?#!/bin/bash)
目标=路径/转换的路径
对于路径/PING_STATUS/A_B_C_u*.csv中的srcname
做
basename=${srcname##*/}
awk-F,'NR==1{for(i=2;i1{for(i=2;i=2);我非常感谢你。这真的很有帮助
#!/bin/bash
target=path/transformed_dir
for srcname in path/PING_STATUS/A_B_C_*.csv
do
basename=${srcname##*/}
awk -F, 'NR==1 { for (i=2; i<=NF; i++) sn[i]=$i }
NR>1 { for (i=2; i<=NF; i++) print $1 "," sn[i] "," $i }' "$srcname" >"$target/$basename"
done