$ echo -e "AsometAhingA\nsomethingA\nASomethiAng"
AsometAhingA
somethingA
ASomethiAng
$ echo -e "AsometAhingA\nsomethingA\nASomethiAng" | sed "s/A//"
sometAhingA
something
SomethiAng
$
Я знаю это sed "s/A//"
удаляет первое соответствие в каждой строке. Но я хочу удалить только первое соответствие в текстовом файле или потоке. Как я могу сделать это? Как: sed -i "MAGIC" file.txt
Пока это - GNU sed (который это, вероятно, так как это - Fedora), необходимо смочь сделать:
sed '0,/RE/{//d;}' file.txt
Если у Вас есть версия sed
(не-GNU), который не поддерживает 0 как адрес строки, затем можно сделать это:
sed '/A/{s///;:a;n;ba}' file.txt
Это печатает каждую строку, как, пока это не находит один с шаблоном. Затем это удаляет шаблон. После этого это циклично выполняется от ba
(перейдите к) к :a
(маркируйте), и читает и печатает каждую строку, не ища шаблон снова.