Мы можем создать команду csvprepend
:
#!/usr/bin/gawk -f
BEGIN { field=ARGV[1]; delete ARGV[1]; OFS=","}
{ print field,$0 }
и используйте его:
$ chmod 755 cvsprepend # turn it in an executable command
$ cvsprepend "New field" old.csv
New Field,abc,Nodes.csv
New Field,def,Nodes.csv
детали:
field=ARGV[1]; delete ARGV[1]
сохраняет первый аргумент командной строки. какfield
OFS=","
задает разделитель полей вывода print field,$0
печатает новое поле, OFS, предыдущую запись. Динамическая загрузка программ без пересборки ядра — одна из основных функций eBPF. Программы eBPF загружаются и управляются с помощью системного вызова bpf
. В большинстве случаев вы бы использовали что-то вроде BCC .
См. основной сайт eBPF для получения подробных руководств и руководств.