Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 使用awk添加收割台和拖车_Unix_Header_Awk - Fatal编程技术网

Unix 使用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分割文件,但我想添加头文件和尾文件

我该怎么做

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-请参阅替代方法,并根据脚本更改页眉/页脚文本。您可以在此处查看我的测试: