Это выглядит как ошибка, если строка интерпретируется сама по себе.
Обратная косая черта экранирует следующий символ от интерпретации оболочкой. Если следующим символом является новая строка, то новая строка не будет интерпретироваться оболочкой как конец команды. Это эффективно позволяет команде a занимать несколько строк.
Чаще всего используется в подобных ситуациях (т. е. для облегчения чтения длинной команды):
rsync --archive \
--verbose \
user@source:/dir/ \
user@target:/dir/
Обратите внимание, что последняя строка не заканчивается на \
, так как она не продолжается дальше. следующая строка. Также обратите внимание, что ничего (даже комментарий или один пробел) не может следовать за \
в строках, которые разбиты таким образом.
Кроме того, да, команда скачивает файл и сохраняет его в файл на диске. Другим способом сделать то же самое, без перенаправления, была бы опция Curl -o
:
curl -L \
-o /usr/local/bin/docker-machine-driver-kvm \
https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu14.04 \
(за которой следует то, что находится на следующей строке вашего скрипта)
С awk
:
awk '$4 == "LEC05" { print $2 }' /path/to/inputfile | sort > outputfile
С grep
и cut
:
grep 'LEC05' /path/to/inputfile | cut -f2 | sort > outputfile
Больше awk -ness
awk '/LEC05/{ name[$2]++ } END { n = asorti( name,sname ); for ( i in sname ) print sname[i]}' input.txt