Как убрать пробел в начале строки, используя sed Plan 9 - PullRequest
0 голосов
/ 23 сентября 2018

Похоже, что это должно просто удалить не более 2 пробелов из начала каждой строки: cat test.txt | 9 sed 's/^ //g;вместо этого он заменяет все пробелы в начале строки.Похоже, что в GNU sed, как и ожидалось, для сравнения есть, но мне интересно изучить способ Plan 9.

Примечание: синтаксис 9 sed здесь потому, что я запускаю его изplan9port.

Более подробно:

$ cat test.txt
This
  is
    a test.
Bye
$ cat test.txt | 9 sed 's/^  //g'
This
is
a test.
Bye

Я ожидаю, что вывод будет больше похож на использование GNU sed:

$ cat test.txt | sed 's/^  //g'
This
is
  a test.
Bye

1 Ответ

0 голосов
/ 24 сентября 2018

Похоже, что plan 9s sed не работает, так как обрабатывает

sed 's/^  //g'

, как если бы это было (псевдокод):

do
    sed 's/^  //'
until the sed output is no longer different from the input

или:

sed 's/^  *//'

или аналогичный вместо правильной интерпретации, такой же, как если бы g не присутствовал:

sed 's/^  //'
...