Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Программирование на Shell


Автор: Максим1989 31.10.2011, 19:49
Здравствуйте! 
Прошу помощи у любителей и знатоков Shell. Сам являюсь абсолютным новичком в этой области. (Только начали изучать Unix)
Несмотря на прочитанную теорию к лабораторной работе "Использование командных файлов", никак не могу понять смысл следующего задания к ней:
-----------------------------
Присвоить переменной F значение “имя команды”, а именно сортировки содержимого текстового файла. Выполнить эту команду, используя значение переменной.
Используя оператор FOR, отобразить содержимое текстовых файлов текущего каталога поэкранно.
-----------------------------
Помогите кто чем может.

Автор: Фантом 31.10.2011, 20:43
Цитата(Максим1989 @  31.10.2011,  20:49 Найти цитируемый пост)

Присвоить переменной F значение “имя команды”, а именно сортировки содержимого текстового файла. Выполнить эту команду, используя значение переменной.

Код

F="sort text.txt"
$F

Это?

Цитата(Максим1989 @  31.10.2011,  20:49 Найти цитируемый пост)
Используя оператор FOR, отобразить содержимое текстовых файлов текущего каталога поэкранно.

Код

for i in *.txt ; do
    less $i
done

Например, так, хотя и странно (с find проще).

Автор: Максим1989 31.10.2011, 21:37
Спасибо! Да, вроде бы это, но у меня есть вопросы:
1.    Я правильно понял, что нужно сначала создать файл text.txt (и ещё какие-нибудь с расширением .txt) ?
2.    Что значит команда less $i ?
3.    Прикреплю два снимка – на втором снимке выданный результат – так и должно быть? ( Просто у меня в домашней папке три файла с расширением .txt, а на экран выводится  содержимое только одного из них) 

Автор: Максим1989 31.10.2011, 21:38
Ещё один на всякий случай

Автор: Фантом 31.10.2011, 22:14
Цитата(Максим1989 @  31.10.2011,  22:37 Найти цитируемый пост)

1.    Я правильно понял, что нужно сначала создать файл text.txt (и ещё какие-нибудь с расширением .txt) ?

sort выводит на экран файл, который ему дан в качестве аргумента, в отсортированном виде. Соответственно, раз уж Вы хотите что-то сортировать, надо, чтобы это что-то имелось.  smile Я написал в качестве примера text.txt, но там может быть любое другое имя текстового файла.

Цитата(Максим1989 @  31.10.2011,  22:37 Найти цитируемый пост)
2.    Что значит команда less $i ?

less - стандартный просмотровщик, позволяющий читать файлы поэкранно и проматывать взад-вперед. %i - итератор, содержащий имя очередного файла (что задано строчкой выше в конструкции for).

Цитата(Максим1989 @  31.10.2011,  22:37 Найти цитируемый пост)
Прикреплю два снимка – на втором снимке выданный результат – так и должно быть? ( Просто у меня в домашней папке три файла с расширением .txt, а на экран выводится  содержимое только одного из них) 

Так Вы же хотели поэкранно? Просмотрите один, нажмете "q"  (выход из less), увидите другой и т.д.

Автор: Максим1989 31.10.2011, 22:26
Кажется теперь всё понятно! СПАСИБО!!!
Теперь со спокойной душой мне можно идти спать. Всего хорошего!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)