Эй, молодые программисты на linux имеют место здесь быть или где?
Короче, одна персона с хорошим педикюром почему-то спросила меня - как убрать трэйлинг спэйсес
внутри XML tag.
Например имеем следущую строку в XML file:
<FIRST NAME>Вася </FIRST NAME>
и ещё много других строк с другими тагами и трэйлинг спэйсами внутри тагов.
Надо получить
<FIRST NAME>Вася</FIRST NAME>
Вопрос - как в linux убрать эти трейлинг спейсы внутри тагов? Есть ли какая-то линукс команда или рутина. Про sed говорить не надо, нах
программисты на linux ....question
Re: программисты на linux ....question
Например, вызвать в командой строке
xsltproc transform.xsl input.xml > output.xml
В XSL использовать normalize-space()
Когда XSL файл будет готов, сделать так чтобы он подавался на вход процессора в виде строки
https://stackoverflow.com/questions/159 ... -xml-files
xsltproc transform.xsl input.xml > output.xml
В XSL использовать normalize-space()
Когда XSL файл будет готов, сделать так чтобы он подавался на вход процессора в виде строки
https://stackoverflow.com/questions/159 ... -xml-files
Re: программисты на linux ....question
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
#'
Какую линукс команду можно ввести что бы убрать трейлинг спейсы внутри тага?
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: 1550
- Сообщения: 8123
- Зарегистрирован: Пн июн 13, 2022 7:22 am
Re: программисты на linux ....question
sed убирает трейлинг спейсес вне тагов.
Если есть идея, как убрать трейлинг спейсы внутри тага и конкретно с примером (или на примере) который я привёл - би май гест, азевайс - учи как читать поставленную задачу, нах
Если есть идея, как убрать трейлинг спейсы внутри тага и конкретно с примером (или на примере) который я привёл - би май гест, азевайс - учи как читать поставленную задачу, нах
Re: программисты на linux ....question
как уже сказали sed...
но...любой "tool" на линуксе справится с задачей - perl/awk/ex...ksh/bash/sh наконец )
пс щас попробую
псс в вышепреведённом примере кривой regular expression и он цепляет всё
но...любой "tool" на линуксе справится с задачей - perl/awk/ex...ksh/bash/sh наконец )
пс щас попробую
псс в вышепреведённом примере кривой regular expression и он цепляет всё
- assassello
- Reactions: 1198
- Сообщения: 5001
- Зарегистрирован: Пн июн 13, 2022 6:46 pm
Re: программисты на linux ....question
В самом простом случае нужно найти \s+(</) и заменить на $1.
Как-то так. Любой тул, который умеет regex find/replace подойдет.
Как-то так. Любой тул, который умеет regex find/replace подойдет.
Слава Украине, слава нации! и пиздец - Российской Федерации.
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
Re: программисты на linux ....question
sed 's/\(>[^<]*\) \+\(<[^>]*>\)/\1\2/g' "$FILE" > "$OUTPUT"
input - <FIRST NAME>Vasya </FIRST NAME>
output <FIRST NAME>Vasya</FIRST NAME>
ps chatGPT помог ) хотя и отказался сделать это на ksh.ну и не надо
input - <FIRST NAME>Vasya </FIRST NAME>
output <FIRST NAME>Vasya</FIRST NAME>
ps chatGPT помог ) хотя и отказался сделать это на ksh.ну и не надо
- assassello
- Reactions: 1198
- Сообщения: 5001
- Зарегистрирован: Пн июн 13, 2022 6:46 pm
Re: программисты на linux ....question
А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
Слава Украине, слава нации! и пиздец - Российской Федерации.
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
Re: программисты на linux ....question
сработало тоже и вроде понятнее. chatGPT наверное туповат, а я мне лень возиться )assassello писал(а): ↑Вт фев 06, 2024 9:54 am А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
- Uzito
- ⭐ Top 5 most interesting users
- Reactions: 1228
- Сообщения: 5313
- Зарегистрирован: Пт июн 24, 2022 1:35 pm
Re: программисты на linux ....question
Только если в XML будет [CDATA] который трогать нельзя оно его отформатирует тоже.
- Mad Hatter
- ⭐ Top 5 most interesting users
- Reactions: 1550
- Сообщения: 8123
- Зарегистрирован: Пн июн 13, 2022 7:22 am
Re: программисты на linux ....question
Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу
Тогда уже Питоном ударить по DOMу
Re: программисты на linux ....question
Самое правильное решениеMad Hatter писал(а): ↑Вт фев 06, 2024 10:42 am Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу
Загрузить исходник любым парсером и тут же выгрузить обратно
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
Re: программисты на linux ....question
self писал(а): ↑Вт фев 06, 2024 2:03 pmСамое правильное решениеMad Hatter писал(а): ↑Вт фев 06, 2024 10:42 am Кстати да. XML та ещё фигня.
Тогда уже Питоном ударить по DOMу
Загрузить исходник любым парсером и тут же выгрузить обратно
Re: программисты на linux ....question
это сработало. Все довольны, нах. Спасибоassassello писал(а): ↑Вт фев 06, 2024 9:54 am А почему не
sed 's/\s*\(<\/\)/\1/g' "$FILE" > "$OUTPUT"
Re: программисты на linux ....question
мне уже третий день пишет тетка, которая в поле yaml хочет вставить JSON, но сам JSON в виде строки, а его полях еще SSH-ключ.
причем, ключ она не хочет прислать, делает все в vi, а когда не работает присылает не копипаст текста, а скриншоты.
а кому какое дело, может Вова - ....ас.
причем, ключ она не хочет прислать, делает все в vi, а когда не работает присылает не копипаст текста, а скриншоты.
а кому какое дело, может Вова - ....ас.
Re: программисты на linux ....question
имеет ли gender значение в программировании? А если бы транс писАл или таки Вова - ....ас.?