Я пытаюсь одну линию следующих рабочих команду, чтобы запустить его в Баш:одиночные CMD линии СЭД Mac OSX эль Capitan
LANG=C sed -E '
s/$/\\z/
:while
s/([0-9]{6})(.*\\z.*)/\2 "\1"/
twhile
s/.*\\z//' myfile.txt
образец для myfile.txt:
123456 \ г \ п \ г \ п 789112 \ г \ п 889667
выход выше CMD (который является ожидаемым RESU л):
"123456", "789112", "889667"
ни это:
LANG=C sed -E 's/$/\\z/; :while; s/([0-9]{6})(.*\\z.*)/\2 "\1"/; twhile; s/.*\\z//' myfile.txt
выход:
123456 \ г \ п \ г \ n 789112 \ r \ n 889667 \ z
или это на самом деле работает:
LANG=C sed -E 's/$/\\z/' -E :while -E 's/([0-9]{6})(.*\\z.*)/\2 "\1"/;twhile' -E 's/.*\\z//' myfile.txt
выход:
СЭД: -E: Нет такого файла или каталога
СЭД:: в то время как: Нет такого файла или каталога
sed: -E: Нет такого файла или каталога
sed: s/([0-9] {6}) (. \ z.)/\ 2 "\ 1" /; twhile: Нет такого файла или каталога
СЭД: -E: Нет такого файла или каталога
СЭД: s /.* \ г //: Нет такого файла или каталог
123456 \ г \ п \ г \ п 789112 \ г \ п 889667 \ г
в результате, как отображать один и только строку файла вместо множественного экземпляра шаблона/[0-9] {6}/
Я считаю, что я пропустил g что-то о том, как использовать точку с запятой.
Какая ошибка вы получаете? – 123
Оба отображают только одну строку файла вместо нескольких экземпляров шаблона/[0-9] {6} /. Пропущенный этот пункт в сообщении, спасибо;) – user2702566
Можете ли вы предоставить образец ввода и вывода? – 123