заменить шаблон с количеством пробелов - PullRequest
1 голос
/ 10 июля 2019

Я новичок в сценариях оболочки, благодарю за любую помощь, касающуюся проблемы ниже.Я пытался использовать sed и awk , но не смог найти решение.

Проблема: у меня есть файл фиксированной ширины, в котором есть поля количества, которые необходимо заменитьс пробелами / любым специальным символом, таким как $, и длина записи должна быть сохранена.Длина полей суммы может варьироваться.

Например.если sample_file.txt имеет длина записи 10 и в этом файле есть два поля суммы, начинающиеся с 2 и 6 длины 3 и 5, как показано ниже:

a234b67890

Его необходимо изменить следующим образом:

a $$$ b $$$$$

Это дляUnix-сервер.

Редактировать:

Также записи могут иметь числовые символы на других позициях, которые не должны обновляться.Таким образом, с учетом предыдущего примера, обновленный ввод будет:

a234b678901234567890

И новый вывод должен быть:

a $$$ b$$$$$ 1234567890

1 Ответ

0 голосов
/ 10 июля 2019

Попробуйте использовать

inp=a234b67890
echo $inp | sed 's/[0-9]/$/g'
# gives a$$$b$$$$$

Единственное требование состоит в том, что ввод должен всегда иметь значение record_length , поскольку sed заменяет числа специальным символом.

Надеюсь, что этопомогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...