Использование класса символов для форматирования списка чисел в формат почтового индекса

Использование класса символов для форматирования списка чисел в формат почтового индекса

Я попытался отформатировать список номеров в формате почтового индекса (пять цифр). Я использовал sedутилиту для этого. Допустим, file.txtсодержит "23232334", "3434654", "33532", "94607". В своем скрипте я написал:

sed -n '/^[0-9] [0-9] [0-9] [0-9] [0-9]$/p' file.txt

но это не сработало.

Я тоже пробовал

sed -n '/^[[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]]$/p' file.txt

Согласно моему пониманию классов персонажей, эти шаги должны работать, но я не знаю, почему я не получаю никакого результата.

Пожалуйста помоги

Спасибо

решение1

Есть много причин, по которым ваши команды не работают. Во-первых, у вас есть пробелы между числами и sedвы ищете цифры, разделенные пробелами. Во-вторых, когда вы пишете ^и $требуете, чтобы пятизначное число занимало всю строку, то из четырех чисел в вашем примере только последние два пройдут тест. Это то, что вы хотите?

Связанный контент