С консолью я не очень еще дружу? поэтому прошу помощи
Нужен мне простой скрипт #/bin/sh который стандартными средствами системы смотрел содержимое определенной папки указанной в этом скрипте, и писал в файл желательно в таком порядке имя файла его размер имя файла и его размер и тд,
Я буду очень благодарен
Нужен простейший скрипт
Вывод содержимого каталога можно получить командой ls с различными параметрами.
Например, ls -l покажет список примерно в таком виде:
drwxr-xr-x 2 user users 80 Июн 17 2009 wwwЧтобы этот результат записать в файл надо в конц команды добавить >> /путь/к/файлу
В результате у нас должно получится вот что:
ls -l >> /home/user/listing.txtи в файле listing.txt будет всё содержимое.
Эту команду вставляем в скрипт и радуемся.
Спасибо, имена файлов получаю
ls -1 >> /home/user/listing.txt
теперь осталось получить размер, размер в байтах, если сделать
du -a -b и как нибудь читать из созданного выше файла имена и потом типа через cat записывать размеры в файл
Подскажите что как
вообще-то ls -l выводит размер файла в байтах в 5-й колонке.
Чтобы заставит du посчитать размер каталога и выдать результат в байтах надо использовать параметр -bs, т.е.
du -bs /home/userls -1 >> /home/user/listing.txt
ыыыыы.... не цифра один "1" как параметр, а прописная буква латинского алфавита "L" - "l" :)
Маленько не так меня понял вот смотри, еще раз мне нужно чтобы скрипт сканил определенную папку и в выходной файл писал имя файла и размер такого формата
Имя файла1
ЕгоРазмер1
Имя файла2
Его размер2или на край так
Имя файла1
Имя файла2
ЕгоРазмер1
Его размер2Кстати по поводу ls -1 попробуй, получиш имена файлов в каталоге вчистом виде,только имена, ls -l развернутая,
это как пример
ls -l | awk '{print $9, $5}'
можешь на 2 части разбить
ls -l | awk '{print $9}'
ls -l | awk '{print $5}'
потом соеденить и тд покури в строну awk + grep , инфы в интернете навалом :)
Удачи сделать лабораторную работу :)
все бы хорошо но awk вроде как не родной линуксовский, считается отдельным языком
truebest, О_о
ls это тоже не часть sh языка - это сторонняя программа.
Кстати по поводу ls -1 попробуй, получиш имена файлов в каталоге вчистом виде,только имена, ls -l развернутая,
ключ -1 указывает команде ls на вывод имён файлов в одну колонку, без всяких там дополнительных атрибутов. визуально - как будто просто ls.
Точно встроен Ы, неправ сори
А как сделать чтобы было
Имя файла1
ЕгоРазмер1
Имя файла2
Его размер2
[offtop]
truebest,
# echo 'brain_enable="YES"' >> /etc/rc.conf
[/offtop]
Вам уже массу вариантов предложили, что не так?
... незнание параметров вещей стандартных которыми можно текст соскребсти, шелла и прочей хни...
А как сделать чтобы было
Имя файла1
ЕгоРазмер1
Имя файла2
Его размер2
Добавь в указанную ранее команду \n. Выгдядеть все это будет вот так
ls -l | awk '{print $9,"\n",$5}'truebest, О_о
А в каком смысле O_o? Задание - средствами shell, т.е. надо использовать array
и пожалуйста, выводить любую часть `ls -l $var`.
Пётр.
2truebest
я бы посоветовал для начала понять что такое структура катологов и т.д.
P.S я бы посылал лесом тех нубов которые хотят готового решения для копи паста в свою хз там какую лабораторную работу.. и напрочь отказываются хоть что то понять из того что уже предложили.