Пример 12-20. Пример форматирования списка файлов в каталоге

Пример 12-20. Пример форматирования списка файлов в каталоге

#!/bin/bash

# За основу сценария взят пример "man column".

(printf "PERMISSIONS LINKS OWNER GROUP SIZE DATE TIME PROG-NAME "

; ls -l | sed 1d) | column -t

# Команда "sed 1d" удаляет первую строку, выводимую командой ls,

#+ (для локали "С" это строка: "total N",

#+ где "N" -- общее количество файлов.

# Ключ -t, команды "column", означает "табличное" представление.

exit 0

colrm

Утилита удаления колонок. Удаляет колонки (столбцы) сиволов из файла и выводит результат на stdout. colrm 2 4 <filename -- удалит символы со 2-го по 4-й включительно, в каждой строке в файле filename.

Если файл содержит символы табуляции или непечатаемые символы, то результат может получиться самым неожиданным. В таких случаях, как правило, утилиту colrm, в конвейере, окружают командами expand и unexpand.

nl

Нумерует строки в файле. nl filename -- выведет файл filename на stdout, и в начале каждой строки вставит ее порядковый номер, счет начинается с первой непустой строки. Если файл не указывается, то принимается ввод со stdin.

Вывод команды nl очень напоминает cat -n, однако, по-умолчанию nl не нумерует пустые строки.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Пример: СОМ-объект для архивирования файлов

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Пример: СОМ-объект для архивирования файлов Представим себе следующую ситуацию. Имеется несколько каталогов на жестком диске, в которых хранятся рабочие файлы разных пользователей. Необходимо каждый день с помощью программы-архиватора arj.exe делать архивы этих файлов в


Пример: обработка связного списка

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Пример: обработка связного списка Если осуществима передача необязательных данных, мы можем расширить возможности указателей в XDR и использовать их для кодирования и декодирования связных списков, содержащих произвольное количество элементов. В нашем примере


Пример создания PDF-файлов

Из книги C++ для начинающих автора Липпман Стенли

Пример создания PDF-файлов В качестве примера использования очереди печати можно привести задачу преобразования входных PostScript-данных в PDF-файлы. Для ее решения надо создать очередь подобную той, которая используется для обработки данных, сгенерированных с помощью


Пример 9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@

Из книги автора

Пример 9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@ #!/bin/bash# Вызовите сценарий с несколькими аргументами, например: "один два три".E_BADARGS=65if [ ! -n "$1" ]then echo "Порядок использования: `basename $0` argument1 argument2 и т.д." exit $E_BADARGSfiechoindex=1echo "Список аргументов в переменной "$*":"for arg in


Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка

Из книги автора

Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка #!/bin/bash# Список планет.# Имя кажой планеты ассоциировано с расстоянием от планеты до Солнца (млн. миль).for planet in "Меркурий 36" "Венера 67" "Земля 93" "Марс 142" "Юпитер 483"do set -- $planet # Разбиение переменной "planet" на


Пример 10-4. Обработка списка файлов в цикле for

Из книги автора

Пример 10-4. Обработка списка файлов в цикле for #!/bin/bash# list-glob.sh: Создание список файлов в цикле for с использованием# операции подстановки имен файлов ("globbing").echofor file in *do ls -l "$file" # Список всех файлов в $PWD (текущем каталоге). # Напоминаю, что символу "*" соответствует любое имя


Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд

Из книги автора

Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд #!/bin/bash# уЩЫЬ for гЯ [гаЩгЫЯЭ], гЯкФСЮЮйЭ г аЯЭЯниР аЯФгдСЮЯзЫЩ ЫЯЭСЮФ.NUMBERS="9 7 3 8 37.53"for number in `echo $NUMBERS` # for number in 9 7 3 8 37.53do echo -n "$number "doneecho exit 0Более сложный пример использования подстановки


Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле

Из книги автора

Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле #!/bin/bash# symlinks.sh: Список символических ссылок в каталоге.OUTFILE=symlinks.list # файл со спискомdirectory=${1-`pwd`}# По-умолчанию -- текущий каталог,echo "символические ссылки в каталоге "$directory"" > "$OUTFILE"echo


Пример 12-30. Декодирование файлов

Из книги автора

Пример 12-30. Декодирование файлов #!/bin/bashlines=35 # 35 строк для заголовка (более чем достаточно).for File in * # Обход всех файлов в текущем каталоге...do search1=`head -$lines $File | grep begin | wc -w` search2=`tail -$lines $File | grep end | wc -w` # Закодированные файлы начинаются со слова "begin", #+ и заканчиваются словом


Пример 24-1. Проверка аргументов командной строки с помощью "И-списка"

Из книги автора

Пример 24-1. Проверка аргументов командной строки с помощью "И-списка" #!/bin/bash# "И-список"if [ ! -z "$1" ] && echo "Аргумент #1 = $1" && [ ! -z "$2" ] && echo "Аргумент #2 = $2"then echo "Сценарию передано не менее 2 аргументов." # Все команды в цепочке возвращают true.else echo "Сценарию передано менее 2


5.11. Пример связанного списка

Из книги автора

5.11. Пример связанного списка Мы завершали главы 3 и 4 примерами для введения читателя в механизм классов С++. В конце этого раздела мы покажем, как разработать класс, представляющий собой односвязный список. (В главе 6 мы рассмотрим двусвязный список, являющийся частью