我有以下脚本:
file="home/report.csv"
while IFS= read -r line
do
sed 's/\,/;/' > tmp.txt
done <"$file"
file2="home/tmp.txt"
while IFS= read -r line
do
awk -F. '{print $1";service" > "report_v2.csv"}' OFS=;
done <"$file2"
在第一个“ While”之后,文件“ tmp.txt ”没有第一行的“ report.csv ”。然后,第二“虽然”之后,该文件report_v2.csv不具备的第一线tmp.txt。
因此,最后一个文件比原始文件少两行。
这是我的文件的一个示例:
report.csv
1,foo
2,pippo
3,pluto
4,davis
tmp.txt
2;pippo
3;pluto
4;davis
report_v2.csv
3;pluto;service
4;davis;service
我需要将原始文件的前两行也保留在最后一个文件中。我能怎么做?
谢谢
欢迎来到站点,伊拉斯莫。您可以通过以下方法简化很多工作:
#!/bin/bash
file="report.csv"
sed 's/\,/;/g' "$file" > tmp.txt
file2="tmp.txt"
awk '{print $1";service"}' "$file2" > report_v2.csv
哪个应该有tmp.txt
产量:
1;foo
2;pippo
3;pluto
4;davis
并且应该有report_v2.csv
产量:
1;foo;service
2;pippo;service
3;pluto;service
4;davis;service
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句