Добавьте 0, когда значение равно 12 символам
Я извлекаю столбец из файла с разными значениями, некоторые из них от 11 символов до 13, но всякий раз, когда значение равно 11, мне нужно добавить 0 впереди.
awk -F, '{print $1 }' $FILE | \ awk '{printf("%04d%s\n", NR, $0)}' | \ awk '{printf("%-12s\n", $0) }' 82544990078 82544990757 899188001738 9337402002723 9337402002686 9337402002747 812153010733 852271005003 89000118359
Он должен выглядеть так:
- Объединение альтернативных строк из двух файлов
- sed regex issue
- Замена строк в файлах с содержимым файла
- Поиск строки в строке и добавление связанных строк
- Как использовать sed для печати части строки, содержащей хеши (или любое альтернативное решение)?
082544990078 082544990757 899188001738 9337402002723 9337402002686 9337402002747 812153010733 852271005003 089000118359
2 Solutions collect form web for “Добавьте 0, когда значение равно 12 символам”
Вы можете использовать awk
для этого:
$ awk 'length() == 11 { $0 = "0" $0 } 1' < input 082544990078 082544990757 899188001738 9337402002723 9337402002686 9337402002747 812153010733 852271005003 089000118359
... | sed 's/^(.\{11,11\})$/0\1/' | ...