Ответ 1
Да, вы можете применить команды sed к диапазонам строк с синтаксисом N,M
. В этом случае вы хотите что-то вроде этого:
sed -e '2,$s/foo/bar/'
Пример с удалением:
sed -e '2,${ /^Name/d }'
В sed
, можно ли пропустить первые n строк при применении регулярного выражения? В настоящее время я использую следующее:
cat test | sed '/^Name/d;/^----------/1;/^(/d;/^$/d'
в следующем файле:
Name
John
Albert
Mora
Name
Tommy
Tammy
За один проход я хочу использовать некоторые регулярные выражения (одним из которых является удаление строки, содержащей Name
, но я хочу пропустить первую строку в этом случае), чтобы получить следующее:
Name
John
Albert
Mora
Tommy
Tammy
Поскольку файл огромен, я не хочу делать несколько проходов, поэтому любые одноразовые подходы будут большими.
Да, вы можете применить команды sed к диапазонам строк с синтаксисом N,M
. В этом случае вы хотите что-то вроде этого:
sed -e '2,$s/foo/bar/'
Пример с удалением:
sed -e '2,${ /^Name/d }'