Как видеть, что вывод, произведенный, делает установку в freebsd

Несколько решений:

  1. выполниться awk на каждом использовании файла find -exec опция:

    find . -type f \
    -exec awk '($1=="2"){++count}END{print FILENAME ": " count}' {} \;
    
  2. используйте awk FNR переменная для обнаружения файла изменяется в awk сценарии:

    find . -type f -print0 | xargs -0 \
    awk 'FNR==1{if (NR!=1){print count} printf("%s: ", FILENAME);}($1=="2"){++count}END{print count}'
    
4
09.03.2014, 19:24
4 ответа
[115883] Попробуйте следующее:

Вероятно, некоторые опауты напечатаны на [116237]stdout[116238], некоторые на [116239]stderr[116240]. Таким образом, вы можете сохранить все выходные данные, перенаправив [116241]stderr[116242] на [116243]stdout[116244], а затем записать [116245]stdout[116246] в файл.

  • Вы также можете использовать команду [116247]tee[116248]:
    • n.b. Переадресация [116249]stderr[116250] все еще необходима для труб.
      • @Nishan

Если Вы используете [116253]csh[116254], попробуйте следующее:

9
27.01.2020, 20:46
[115905]Взгляните на [116259]man script[116260]. ;) В основном, вы делаете [116261]скрипт somefile.txt[116262], и он откроет новую оболочку, где все, что происходит, будет записано в [116263]somefile.txt[116264] ([116265]exit[116266] to quit).[115906].
3
27.01.2020, 20:46
[115895] Вывод, на который Вы ссылаетесь, распечатывается на стандартную ошибку [116255], не стандартный вывод[116256]. Для захвата stderr необходимо [116257]2>[116258]:
  • 2
    27.01.2020, 20:46
  • 0 == stdin
  • 1 == stdout
  • 2 == stderr
  • default == 1[115904].
  • 0
    27.01.2020, 20:46

    Теги

    Похожие вопросы