Как исправить текстовые файлы Linux без новой строки или конца строки?

networking.nameservers = [ "1.1.1.1" "9.9.9.9" ]

0
08.10.2020, 07:51
2 ответа

Используйте:

awk 1 file1 file2... > outfile

вместо cat file1 file2... > outfileЕдинственная проблема заключается в том, что в отличие от cat, awkнемедленно завершает работу с ошибкой, если он не может открыть и прочитать какой-либо из file1, file2и т. д., вместо того, чтобы продолжить работу с остальными файлами. Если это проблема, в большинстве современных систем вы можете использовать grep '', как уже было предложено здесь + параметр -h, чтобы опустить имена файлов (, хотя имейте в виду, что это использует нестандартные -функции. изgrep):

grep -h '' file1 file2... > outfile
1
18.03.2021, 22:59

есть интересное hack, где вы можете отформатировать команду bash с помощью awk и отправить ее в bash вот так:

awk '{ print "find " $1 " -exec ls {} \;" }'./source_file | bash

это даст вам мгновенное выполнение таких команд, как:

find /var -exec ls {} \;
find /home/user1 -exec ls {} \;
# and so on depending on the contents of the./source_file

надеюсь, это поможет:)

1
18.03.2021, 22:59

Теги

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