3

Я запускаю команду find, которая возвращает несколько результатов, но мне нужен только первый результат. Небольшое приближение привело меня к команде "читать", но я не мог понять это, и страница справочника оказалась не слишком полезной.

4 ответа4

9

введите вашу команду (пример: ls -l), а затем команду head с каналом, например:

ls -l | голова -1

0

Мне нравится много способов решения проблем Unix. Вот некоторые другие, предполагая, что command заменяется тем, что вы на самом деле делаете:

command | awk 'NR == 1 {print}'

command | sed -e 1q

TMP=`mktemp tempXXX`; command > ${TMP} ; ed ${TMP} << HERE
1p
HERE

command | split -1 - ; cat xaa ; rm -f x[a-z][a-z]

LINECOUNT=$(command | tee tempfile | wc -l | sed -e 's/ *//g'); \
  tail -$((${LINECOUNT} - 1)) tempfile | diff -u - tempfile | grep '^+' | \
  grep -v '^+++' | sed -e 's/^+//'

Если вы выводите записи фиксированной длины (что может быть правдой; пример для 80 символов ввода плюс перевод строки):

command | dd ibs=81 count=1

В какой-то момент я работал над установкой систем Unix с запоминающих устройств с ограниченными возможностями (дискеты). Нам часто приходилось находить оригинальные способы использовать ограниченный набор команд, которые мы могли бы включить на дискету 1,44 МБ :)

0

Вы можете использовать команду more для управления количеством текста, отображаемого за раз.

Чтобы решить вашу проблему:

Перенаправьте вывод в файл, который вы создаете.

Используйте For Loop с 1 циклом (счетчик = 1, -1 каждый раз). Вам нужно использовать токены для функции поиска.

Цикл For ECHO будет первой командой.

Удалить ваш файл.

Сохраните эхо цикла FOR в переменной (необязательно).

Я могу дать некоторые определения использования, если вам это нужно.

0

Как использовать read

$ echo -e "1\n2\n3\n4\n5"
1
2
3
4
5

$ echo -e "1\n2\n3\n4\n5" | while read n; do  echo "n:$n" ; done
n:1
n:2
n:3
n:4
n:5

$ 


Более подробную информацию о том, как работает bash, можно найти на сайте www.tldp.org в Advanced Bash-Scripting Guide по написанию сценариев ,
есть еще одно руководство по bash Bash Guide for Beginners.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .