Почему Вы просто не передаете по каналу для заголовка-1?
# Get a code that `my_command` prints in its first line
# parsed_first_line=`my_command | grep -oEe '[0-9]+'`
parsed_first_line=$( my_command | head -1 | grep -oEe '[0-9]+' )
echo 'Here is the first line ' $parsed_first_line
Это также позволяет my_command закончиться, но он только возвращает первую строку, которой он может затем соответствовать против Вашего grep.
В Vim можно также просто сделать глобальную замену на запуске всех строк:
:%s/^/;/
:
войти Исключая командным режимом, %
указывать все строки в файле, s/^/;/
вставить a ;
в начале каждой строки. %
диапазон, это означает все строки. ввести :help ranges
в энергии для получения большей информации о диапазонах в 4. Исключая
– cas
08.09.2012, 04:45
Для простой задачи как это Вы могли использовать sed
или perl
. Для маленького места использовать sed
для этой простой задачи:
sed -i.old -e 's/^/;/' file
Это сохраняет копию исходного файла как "*.old" и добавляет a""; в начале каждой строки.
Если Ваш sed
не версия GNU (как имеет место на многих вариантах Unix), вероятно, что у Вас не будет оперативного (-i
) опция. Или просто перенаправьте к новому выходному файлу или Perl использования как perl -pi.old -e 's/^/;/' file
Я добавил бы к ответу jw013 путем изменения замены на
:%s/^[^;]/;\0/
Это может повторно выполняться так много раз, как Вы любите и не добавите точки с запятой бесконечно к началу строк, уже имеющих его в начале.
Это может также использоваться с sed или жемчугом с двоеточием и удаленным знаком процента.
Это заменяет во всех строках (%) каждую строку, которая начинает с чего-то другого, чем точка с запятой запускаться с точки с запятой и затем символа, с которого это запустилось первоначально (для хранения его в файле).
Обе команды (мой и jw013) должны быть сделаны в командном режиме, который является режимом запуска по умолчанию vi/vim и может быть получен доступ с ключом когда в режимах замены или Вставке.
gg
переходит к первой строке. – jw013 07.09.2012, 18:450
необходимо?gg
также переходит к началу строки (если нет параметр конфигурации, о котором я не знаю?) – Izkata 07.09.2012, 23:31gg
переходит к первому несимволу пробела. Это не то, что Вы хотите, если первый символ на первой строке был пространством или вкладкой. – jw013 07.09.2012, 23:49