scp my_log-bin.0139[3-9][0-9] root@192.168.103.66:/backup/
Вы можете просто вывести вторую строку. Для этого можно использовать множество инструментов:
sed
значения по умолчанию read -g AppleLanguages | sed -n '2s /, // p;' файл
Объяснение : 2
означает «выполнять следующие команды только во второй строке». -n
подавляет нормальный вывод (ничего не печатается, если это явно не указано).Подстановка ( s ///
) удаляет запятую, а / p
в конце выводит строки, в которых произошла подстановка.
perl
по умолчанию читает -g AppleLanguages | perl -ne 's /, // && print if $. == 2'
Explanation : Удалите первую запятую ( s /, //
) и напечатайте строка, если текущий номер строки ( $.
равен 2. -n
означает «построчно прочитать входной файл и применить сценарий, заданный -e
] в каждую строку.
Инструменты Unix
по умолчанию read -g AppleLanguages | head -n 2 | tail -n 1 | tr -d,
Explanation : head -n 2
печатает две первые строки, tail -n 1
печатает последнюю (следовательно, вторую в файле) и tr -d,
удаляет запятые.
awk
по умолчанию read -g AppleLanguage | awk 'NR == 2 {sub (",", ""); print}'
Пояснение: NR == 2 { }
означает «запускать то, что указано в скобках, только во второй строке. gsub (", "," ")
удаляет первую запятую.
Вы можете сделать следующее:
awk -F, '/[^(]/{print $1;exit}'
Пояснение:
-F,
: относиться к ,
как к разделителю полей [^(]
: для строк, которые содержат по крайней мере один не(
символ. распечатайте $1; exit
: распечатайте первое поле и немедленно выйдите из awk
(таким образом, будет распечатана только первая строка, которая соответствует шаблону)