Unix 使用awk添加收割台和拖车
下面是我使用awk分割文件,但我想添加头文件和尾文件 我该怎么做Unix 使用awk添加收割台和拖车,unix,header,awk,Unix,Header,Awk,下面是我使用awk分割文件,但我想添加头文件和尾文件 我该怎么做 awk -v DATE="$(date +"%d%m%Y")" -F\, 'BEGIN{OFS=","}NR==1 {h=$0; next} { gsub(/"/, "", $1); file="Assignment_"$1"_"DATE".csv"; print (a[file]++?"":h ORS) $0 > file}' Test_01012020.CSV 您需要在开始和结束部分相应地打印它们: $ h=$'Fru
awk -v DATE="$(date +"%d%m%Y")" -F\, 'BEGIN{OFS=","}NR==1 {h=$0; next} { gsub(/"/, "", $1); file="Assignment_"$1"_"DATE".csv"; print (a[file]++?"":h ORS) $0 > file}' Test_01012020.CSV
您需要在开始和结束部分相应地打印它们:
$ h=$'Fruit\tColor'
$ t=$'Total\tTotal'
$ cat file
Mango Yellow
Lemon Green
$ awk -v h="$h" -v t="$t" 'BEGIN{FS=" ";OFS="\t";print h}{print $1,$2}END{print t}' file
Fruit Color
Mango Yellow
Lemon Green
Total Total
或者,您可以避免使用外部变量,直接在awk内部打印标题:
$ awk 'BEGIN{FS=" ";OFS="\t";print "Fruit","Color"}{print $1,$2}END{print "Total","Total"}' file
我找不到这个@George Vasiliou:(@FARAH为什么不?似乎很简单。你面临什么问题?@FARAH在我尝试运行时,看到了在开始/结束时直接打印的替代方法。我是否需要将$h=$'Fruit\tColor'$t=$'Total\tTotal'$cat文件放入我的unix中?@FARAH这只是一个测试。我创建了一个测试文件,有几行代码。你可以直接打印页眉/页脚不带任何$h或$t-请参阅替代方法,并根据脚本更改页眉/页脚文本。您可以在此处查看我的测试: