Linux C-Shell — оператор If на AWK, передаваемый по конвейеру из WCLinux

Ответить Пред. темаСлед. тема
Anonymous
 Linux C-Shell — оператор If на AWK, передаваемый по конвейеру из WC

Сообщение Anonymous »

У меня есть следующий код, который выполняет команду wc -lc и передает ее в команду AWK, которая печатает размер файла в МБ и количество строк внутри его содержимого. Это работает хорошо, если файл «file.csv» существует, но если его нет, цель состоит в том, чтобы напечатать 0 0, но он просто не делает ничего, кроме вывода сообщения об ошибке. «Нет такого файла или каталога», вот код:

Код: Выделить всё

wc -lc < "file.csv" | awk '{if($1) {FileSize = $2 / 1024 / 1024; RecordCount = $1 - 1; print FileSize, RecordCount} else{FileSize = 0; RecordCount = 0; print FileSize, RecordCount}}'
Результат:

Код: Выделить всё

file.csv: No such file or directory.
Он не печатает 0 0, чего я и ожидаю, если файл не найден.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-from-wc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»