Как получить в терминале имя и содержимое файла для всех файлов в каталоге

Puede eliminar múltiples procesos con una matriz. En este caso, puede especificar opciones como $ip, $hostnameo algo similar.

ip=your_ip_address; declare -a arr=$(ps aux|grep tail|grep $ip|awk '{print $2}'); for pid in ${arr[@]}; do kill -9 $pid; done;
-1
21.04.2019, 03:24
3 ответа

Для этого конкретного формата вывода вы можете:

awk '{print substr(FILENAME, 3)" \""$0"\" "}'./file*

Который будет печатать имя файла, за которым следует содержимое строки в кавычках для каждой строки файла.

Мы добавляем префикс ./, который мы удаляем с помощью substr(), чтобы обойти проблему, связанную с тем, что awkрассматривает аргументы, подобные filex=y.txt, как назначение переменной вместо имени файла.

Если файлы уже содержат символы "и вы хотите отобразить их как\"\как \\, чтобы устранить двусмысленность):

awk '{gsub(/[\\"]/, "\\\\&"); print substr(FILENAME, 3)" \""$0"\" "}'./file*

(, который не содержит адреса "в самом имени файла ).

3
28.01.2020, 05:06

Это помогает:

for f1 in *; do echo -n "$f1"" "\"; cat "$f1"; echo "\""; done

Он перебирает все файлы в каталоге, затем для каждого файла показывает его имя, за которым следует его содержимое в кавычках.

1
28.01.2020, 05:06

Предположим, что файлы являются текстовыми и не слишком большими (, т.е. менее 10000 строк ).

Тогда вы можете попробовать использовать head (1)(возможно как head -vn -0 file*с GNU head )вот так

head -10000 file1 file2 file3

Помните, что некоторые файлы являются бинарными, то есть содержат что-то еще, кроме текста. Например, дамп ядра , файл базы данных sqlite , изображение PNG , исполняемый файл или даже какой-нибудь Файл OpenDocument , созданный с помощью LibreOffice. В таких файлах использованиеhead(или cat (1))не дает хороших результатов, поскольку они не являются текстовыми файлами , а содержат последовательность почти произвольных байтов.

Вас также может заинтересовать команда файл (1 ). Он пытается угадать тип содержимого данного файла. Читайте также о типах мультимедиа(или типах MIME )

.

Помните, что в Unix-подобной системе файл на самом деле является i -узлом и может иметь несколько имен (см. inode (7)], ссылка (2 ), пер (1)подробнее ). Имя файла мало что значит. Файл в основном представляет собой последовательность байтов с каким-то способом назвать его. Как эта последовательность используется, зависит от программы, обращающейся к файлу.

Вас может заинтересовать xdg-open, который пытается графически показать различные типы файлов, (он адаптируется к содержимому этих файлов ).

Читайте также о подстановке . См. глобус (7). Возможно, узнайте о forвстроенной в оболочке . Читайте оbashконструкциях циклов .

3
28.01.2020, 05:06

Теги

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