программисты на linux ....question

Ответить
Nab
Reactions: 1351
Сообщения: 3264
Зарегистрирован: Вт июн 28, 2022 6:34 am

программисты на linux ....question

Сообщение Nab »

Эй, молодые программисты на linux имеют место здесь быть или где?

Короче, одна персона с хорошим педикюром почему-то спросила меня - как убрать трэйлинг спэйсес
внутри XML tag.
Например имеем следущую строку в XML file:
<FIRST NAME>Вася </FIRST NAME>
и ещё много других строк с другими тагами и трэйлинг спэйсами внутри тагов.
Надо получить
<FIRST NAME>Вася</FIRST NAME>


Вопрос - как в linux убрать эти трейлинг спейсы внутри тагов? Есть ли какая-то линукс команда или рутина. Про sed говорить не надо, нах
caltrain
Reactions: 23
Сообщения: 125
Зарегистрирован: Чт авг 18, 2022 9:28 pm

Re: программисты на linux ....question

Сообщение caltrain »

Например, вызвать в командой строке
xsltproc transform.xsl input.xml > output.xml

В XSL использовать normalize-space()

Когда XSL файл будет готов, сделать так чтобы он подавался на вход процессора в виде строки

https://stackoverflow.com/questions/159 ... -xml-files
Nab
Reactions: 1351
Сообщения: 3264
Зарегистрирован: Вт июн 28, 2022 6:34 am

Re: программисты на linux ....question

Сообщение Nab »

ok, конкретный пример XML file in input folder moving into OUTPUT с сапрессинг спейсес вне тагс.
INPUT_FOLDER=$1
OUTPUT_FOLDER=$2

echo "input folder: $INPUT_FOLDER"
echo "output folder: $OUTPUT_FOLDER"

#: '
for file in $INPUT_FOLDER/*.xml
do
echo "filename with path: $file"
filename=${file##*/}
echo "filename: $filename"
sed 's/[[:space:]]*$//' "$file" > "$OUTPUT_FOLDER/$filename"

done
#'


Какую линукс команду можно ввести что бы убрать трейлинг спейсы внутри тага?
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1476
Сообщения: 7819
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: программисты на linux ....question

Сообщение Mad Hatter »

Как уже сказал, sed.
Учи реджексы :) пригадицца
Nab
Reactions: 1351
Сообщения: 3264
Зарегистрирован: Вт июн 28, 2022 6:34 am

Re: программисты на linux ....question

Сообщение Nab »

sed убирает трейлинг спейсес вне тагов.
Если есть идея, как убрать трейлинг спейсы внутри тага и конкретно с примером (или на примере) который я привёл - би май гест, азевайс - учи как читать поставленную задачу, нах
VikKur
Reactions: 470
Сообщения: 1629
Зарегистрирован: Вс авг 27, 2023 10:42 am

Re: программисты на linux ....question

Сообщение VikKur »

как уже сказали sed...
но...любой "tool" на линуксе справится с задачей - perl/awk/ex...ksh/bash/sh наконец )
пс щас попробую
псс в вышепреведённом примере кривой regular expression и он цепляет всё
Аватара пользователя
assassello
Reactions: 1167
Сообщения: 4914
Зарегистрирован: Пн июн 13, 2022 6:46 pm

Re: программисты на linux ....question

Сообщение assassello »

В самом простом случае нужно найти \s+(</) и заменить на $1.

Как-то так. Любой тул, который умеет regex find/replace подойдет.
Слава Украине, слава нации! и пиздец - Российской Федерации.
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
VikKur
Reactions: 470
Сообщения: 1629
Зарегистрирован: Вс авг 27, 2023 10:42 am

Re: программисты на linux ....question

Сообщение VikKur »

sed 's/\(>[^<]*\) \+\(<[^>]*>\)/\1\2/g' "$FILE" > "$OUTPUT"
input - <FIRST NAME>Vasya </FIRST NAME>
output <FIRST NAME>Vasya</FIRST NAME>
ps chatGPT помог ) хотя и отказался сделать это на ksh.ну и не надо
Аватара пользователя
assassello
Reactions: 1167
Сообщения: 4914
Зарегистрирован: Пн июн 13, 2022 6:46 pm

Re: программисты на linux ....question

Сообщение assassello »

А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
Слава Украине, слава нации! и пиздец - Российской Федерации.
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
VikKur
Reactions: 470
Сообщения: 1629
Зарегистрирован: Вс авг 27, 2023 10:42 am

Re: программисты на linux ....question

Сообщение VikKur »

assassello писал(а): Вт фев 06, 2024 9:54 am А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
сработало тоже и вроде понятнее. chatGPT наверное туповат, а я мне лень возиться )
Аватара пользователя
Uzito
⭐ Top 5 most interesting users
Reactions: 1223
Сообщения: 5272
Зарегистрирован: Пт июн 24, 2022 1:35 pm

Re: программисты на linux ....question

Сообщение Uzito »

Только если в XML будет [CDATA] который трогать нельзя оно его отформатирует тоже.
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1476
Сообщения: 7819
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: программисты на linux ....question

Сообщение Mad Hatter »

Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу 🤣
Аватара пользователя
self
Reactions: 960
Сообщения: 5385
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: программисты на linux ....question

Сообщение self »

Mad Hatter писал(а): Вт фев 06, 2024 10:42 am Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу 🤣
Самое правильное решение
Загрузить исходник любым парсером и тут же выгрузить обратно
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
VikKur
Reactions: 470
Сообщения: 1629
Зарегистрирован: Вс авг 27, 2023 10:42 am

Re: программисты на linux ....question

Сообщение VikKur »

self писал(а): Вт фев 06, 2024 2:03 pm
Mad Hatter писал(а): Вт фев 06, 2024 10:42 am Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу 🤣
Самое правильное решение
Загрузить исходник любым парсером и тут же выгрузить обратно
Nab
Reactions: 1351
Сообщения: 3264
Зарегистрирован: Вт июн 28, 2022 6:34 am

Re: программисты на linux ....question

Сообщение Nab »

assassello писал(а): Вт фев 06, 2024 9:54 am А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
это сработало. Все довольны, нах. Спасибо
caltrain
Reactions: 23
Сообщения: 125
Зарегистрирован: Чт авг 18, 2022 9:28 pm

Re: программисты на linux ....question

Сообщение caltrain »

мне уже третий день пишет тетка, которая в поле yaml хочет вставить JSON, но сам JSON в виде строки, а его полях еще SSH-ключ.

причем, ключ она не хочет прислать, делает все в vi, а когда не работает присылает не копипаст текста, а скриншоты.

а кому какое дело, может Вова - ....ас.
kyk
Reactions: 441
Сообщения: 6087
Зарегистрирован: Ср июн 15, 2022 6:54 pm

Re: программисты на linux ....question

Сообщение kyk »

caltrain писал(а): Ср фев 14, 2024 1:53 pmмне уже третий день пишет тетка
имеет ли gender значение в программировании? А если бы транс писАл или таки Вова - ....ас.?
Ответить