LINUX.ORG.RU

вопрос по shell


0

0

как вывести имена всех файлов каталога, где каждое имя на отдельной строке. ls|cat не подходит, т.к. разносит имена файлов, содержащих пробелы.

anonymous

Недопол. Зачем тебе |cat? Посмотри ключи ls -- найдёшь.

С уважением -- Смоляное Чучелко

anonymous
()
Ответ на: комментарий от anonymous

ls -la

p.s чучелко чучелко, а кого ты уважаешь? а меня ты уважаешь? а? скот?

anonymous
()
Ответ на: комментарий от anonymous

так... все это правильно, но похоже мне это не помогает. Надо было сразу сказать, но я думал что дело только в ls. Дело в том что у меня в скрипте нужно анализировать все файлы текущего каталога и делать с каждым определенное действие.

for i in `ls -1 dir`
do
echo $i
done

Это выводит все имена файлов, разбивая ПО СЛОВАМ. Надо как-то обрабатывать всю строку. Как бы это сделать?

anonymous
()
Ответ на: комментарий от ejka

так не работает. Вся проблема не в самом выводе, а в конструкции for...in. То что после in это конструкция похоже воспринимает как список слов.

anonymous
()
Ответ на: комментарий от anonymous

это та же задача, что вывести n-ую троку файла. Т.е.
output=`ls -1 dir`
n=`ls -1 dir|wc -l`
for i in `val 1 n`
do
как-то получаем n-ую строку из output
done

anonymous
()
Ответ на: комментарий от Begemoth

ух ты... точно, помогает. Как это я сам не додумался...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.