2017-02-21 51 views
0

Ниже представлены мои файлы разбиения с использованием 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 

ответ

0

Вы должны напечатать их в Начинайте и заканчивайте Раздел соответственно:

$ 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 

Alternativelly,
Вы можете избежать внешних переменных и заголовок печати непосредственно в AWK:

$ awk 'BEGIN{FS=" ";OFS="\t";print "Fruit","Color"}{print $1,$2}END{print "Total","Total"}' file 
+0

Я не мог получить этого @George Vasiliou :( – FARAH

+0

@FARAH Почему нет? Кажется довольно простым. С какими проблемами вы сталкиваетесь? –

+0

@FARAH See th e альтернативный метод с прямой печатью в BEGIN/END –