使用sed和awk后如何不丢失文件的前两行

伊拉斯莫·维扎卡罗(Erasmo Vizzaccaro)

我有以下脚本:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章