Выполнить рекурсивный список всех файлов в/вар/журнал и перенаправить стандартный вывод в файл с именем lsout.txt в вашем домашнем каталоге. Заполните этот вопрос, не отпуская ваш домашний каталог.Баш: рекурсивный список всех файлов проблемы
An: Ls -R/вар/Журнал /> /home/bqiu/lsout.txt
Я считаю, команда выше баш не является правильным. Потому что я нашел то, что магазины были:
$ ls -R /var/log
/var/log:
empty.txt setup.log setup.log.full tmp
/var/log/tmp:
fake.txt subfolder
/var/log/tmp/subfolder:
Означает ли это, проблема решена?
Я не считаю.
Потому что она содержит больше «материал», чем «только файлы»
Или, по крайней мере, если цель состояла в том, чтобы найти все «файлы» под «/ Var/Журнал» каталог рекурсивно, то я надеюсь, получить anwser так:
/var/log/empty.txt
/var/log/setup.log
/var/log/setup.log.full
/var/log/tmp/fake.txt
Итак кто-то может анализировать содержимое вывода для последующего использования. Такие, как
$ perl -wnle 'print "$. :" , $_;' logfiles
1 :/var/log/empty.txt
2 :/var/log/setup.log
3 :/var/log/setup.log.full
4 :/var/log/tmp/fake.txt
Это то, что я получил до сих пор:
$ ls -1R
.:
cal.sh
cokemachine.sh
dir
sort
test.sh
./dir:
afile.txt
file
subdir
./dir/subdir:
$ ls -R | sed s/^.*://g
cal.sh
cokemachine.sh
dir
sort
test.sh
afile.txt
file
subdir
Но это по-прежнему оставляет все имена каталогов/подкаталог (реж и подкаталогов), плюс пару пустых
переводы строкКак я могу получить правильный результат без использования Perl или awk? Предпочтительно использовать только базовые команды bash (это только потому, что Perl и awk вышли из области оценки)
Отредактировано: Я сосредоточился на своей папке «$ HOME», чтобы ограничить указанный файл. У меня мало информации в моем homedir
Отредактировано 2-го: Извините за мой неуместный вопрос в исходной форме. Я исправил формулировку и, надеюсь, каждый может увидеть проблему сейчас.
Вопрос непонятен - что это такое * правильно? Должна ли каждая строка конечного вывода иметь форму './Dir/afile.txt'? Только базовые имена? –
Вы пробовали команду 'find'? –
Главное очевидное, что неправильно с предоставленным ответом заключается в том, что выходной файл должен быть «$ HOME/lsout.txt»; ДОМАШНЯЯ ЧАСТЬ ЧЕЛОВЕКА не находится в/home/bqiu. Главное, что неправильно с тем, что вы делаете, похоже, что вы игнорируете запрос для перечисления содержимого/var/log. –