перенаправить вывод команды awk gsub в файл

перенаправить вывод команды awk gsub в файл

Я нашел ответ о том, как удалить запятые между кавычками в CSV-файле, разделенном запятыми, здесь, на stackexchange (не могу прокомментировать, так как у меня нет необходимой репутации).

awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile

Как перенаправить вывод в файл вместо того, чтобы выводить его на консоль?

Я пробовал различные комбинации использования «>», которые приводили только к пустым файлам или ошибкам. «>>» каждый раз приводило к ошибке.

решение1

Использование стандартного перенаправления будет работать на стандартном выходе:

$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile > test.out
$

При этом ошибки все равно будут выводиться на экран.

Однако, если вы хотите, чтобы ошибки и стандартный вывод записывались в файл, выполните:

$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2>&1 > test.out
$

Или вы можете отделить ошибки от стандартного вывода:

awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2> errors.out 1 > test.out

Связанный контент