LINUX.ORG.RU

Обработать текст

 


0

1

Привет, ребят. Подскажите, пожалуйста, как с помощью инструментов типа sed или других доступных Bash обработать текст желанным образом. Вот сам текст:

"Fishing tour.png

Fishing tour2.png

One Day Tour.png

Sydney Adventure 3 Days Package.png

Sydney Northern Beaches Scenic Flight by Seaplane.png

Week trip.png

Weekend trip to Baku.png

Fishing tour a0HR000000B4wMUMAZ

One Day Tour a0HR000000B4wMVMAZ

Sydney Adventure 3 Days Package a0HR000000B4wMWMAZ

Sydney Northern Beaches Scenic Flight by Seaplane a0HR000000B4wSuMAJ

Week trip a0HR000000B4wMTMAZ

Weekend trip to Baku a0HR000000B4wMSMAZ"

Нужно его обработать таким образом, чтобы слова с расширением .png вставали на место слов идентичных им, но без расширения и id оставалось там же. Второе условие, если в название слова с расширением присутствует цифра(0-9), то она должна встать отдельной строкой и справа также должна стоять id, соответствующая этому названию. В общем вот желаемый результат:

"Fishing tour.png a0HR000000B4wMUMAZ

Fishing tour2.png a0HR000000B4wMUMAZ(id идентична тому, что строкой выше)

One Day Tour.png a0HR000000B4wMVMAZ

Sydney Adventure 3 Days Package.png a0HR000000B4wMWMAZ

Sydney Northern Beaches Scenic Flight by Seaplane.png a0HR000000B4wSuMAJ

Week trip.png a0HR000000B4wMTMAZ

Weekend trip to Baku.png a0HR000000B4wMSMAZ"

Не совсем ещё разобрался как на форуме текст в правильный и удобный формат приводить:)



Последнее исправление: VladSpider (всего исправлений: 4)

Ну, если текст в файле то:

$ cat <файл> | sed <нужная тебе опция в зависимости от желанного эффекта>
Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Entmatix

Ну, в целом да.

Я просто привык через пайпы, так как не всегда дело ограничивается одним sed. Да и не всегда исходные данные в файле.

Kroz ★★★★★
()

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

mydibyje ★★★★
()

из списка сделать два непересекающихся - №1 с *.png №2 - со странными идентификаторами. Далее соотнести элементы из 1 c 2 и построить список 3 подстановками.

из «средств bash» - тут вероятнее awk :-) или python. или lisp (не к ночи упомянут)…sed/grep только на пред и пост обработке.

«руками и на листочке» проделайте требуемые действия и всё встанет на свои места - как поделить, куда чего подставить

MKuznetsov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.