папки списка и их содержание

Я предполагаю, что Вы смущены cat команда (и перенаправление оболочки), а не find один.

find . -type f -name "*.c" -exec cat {} \; > all_c_files.txt эквивалентно:

(
  cat file1 ;
  cat file2 ;
  cat file3 ;
  ... 
  cat fileN
) > all_c_files.txt

очевидно, предыдущая команда и следующая имеют тот же идентичный результат:

cat file1 file2 file3 ... fileN > all_c_files.txt
4
03.02.2015, 16:18
4 ответа

Это работает в любой оболочке POSIX:

find <directory> -type f -exec sh -c '
  for f do
    printf "%s: %s\n" "${f%/*}" "${f##*/}"
  done' sh {} +

Эта команда выполняется в каждом файле (имя файла, хранящееся в переменной f ) и отображает каталог ( {F% / *} ), толстая кишка и имя файла ( $ {F ## * /} ').

3
27.01.2020, 20:49

Я использую ControlMaster и не отключался.

ControlMaster - это опция конфигурации SSH, которая сохраняет соединения открытыми в течение определенного времени и может мультиплексировать сеансы SSH через одно и то же соединение (что позволяет избежать медленных обменов ключами). Однако, если ^ D из оболочки, а затем повторно запустить ssh , вы не отключили исходное соединение .

При перезапуске sshd перезагружается только процесс прослушивания: любой текущий сеанс остается активным, поэтому соединение также не перезапускается.

При запуске новой оболочки не выполняется повторная проверка /etc/passwd на наличие изменений.

Решение состояло в том, чтобы закрыть соединение: ssh < имя _ узла > -O exit и снова войти в систему.

-121--83337-

дамп или fs _ freq в столбце /etc/fstab - частота дампа в днях. Он используется опциями dump 's -w и -W для информирования оператора о том, какие файловые системы необходимо сбросить. Насколько мне известно, 0 в этой области никогда не мешало сбросить ; файловая система не будет отображаться в выходных данных dump -w .

Одним из примеров использования является то, что оператор дампа запускает dump -w , чтобы увидеть, что необходимо сделать в этот день, затем загружает соответствующие ленты в ленточные накопители и запускает dump , чтобы выполнить полный или инкрементный дамп для каждой подходящей файловой системы. На практике большинство установок, с которыми я знаком, сбрасывали каждую файловую систему каждый день, поэтому дамп -w использовался только для проверки того, падала ли файловая система через трещины.

Но я еще не понял, в каком состоянии будет выполняться команда? И где будет расположение свалки.

Он не выполняется по умолчанию. Ты должен сам что-то устроить. Его можно вывести на ленту, если она имеется, или в файл. Многие люди используют систему резервного копирования более высокого уровня, например amanda , для управления резервным копированием.

-121--145930-

как насчет...

find `pwd` -type f | perl -lane '@x=split(/\//); print "$x[$#x-1]: $x[$#x]";' 
-1
27.01.2020, 20:49
find .

или

find . -ls

Если вы хотите детали ...

с использованием LS с помощью Одиночный уровень (каталоги, содержащие файлы, а не другие каталоги):

ls -1d -- */*

для простого списка,

ls -ld -- */*

для деталей (это цифра 1 в первом примере, буква L в нижнем регистре во втором).

5
27.01.2020, 20:49

С ZSH :

for d (*(/N)) {for f ($d/*(N:t)) printf '%s:  %s\n' $d $f; echo}

Теперь, если вам все равно, если вы не заботитесь о сортировке или исключающих скрытых файлах, или имея пустую линию между каталогами, затем (предполагая Имена файлов не содержат Newline символов), вы можете просто сделать:

find . -path './*/*' -prune -print | sed 's|\./||;s|/|:  |'

с GNU Найти , вы также можете сделать:

find . -path './*/*' -prune -printf '%P\n' | sed 's|/|:  |'

или:

find . -path './*/*' -prune -printf '%h:  %f\n'

, если вы не заботитесь о ведущем . / .

-Path './*/*' -прун состоит в том, чтобы только сообщать о файлах на глубине 2 ( ./ A / B , но не . / или ./ A / B / C ). С GNU (и несколько других) Найти . Найти Реализацию, вы можете заменить это с -Mindepth 2 -MaxDepth 2 .

1
27.01.2020, 20:49

Теги

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