LINUX.ORG.RU

Удалить лишний «мусор» из файла...

 


0

1

Есть xml и csv файл в конце которых присутствует эцп (выглядит как мусор в тексте), перед разбором файла нужно этот мусор вырезать

с xml-ом хочу оставить содержимое до последнего тега </end_file> sed -i '/<\/end_file>,$d' file.xml но проблема в том что и сам последний тег </end_file> тоже вырезается нахрен вместе с мусором, а его нужно оставить, и второй более сложный для меня вариант с csv, если строка в файле начинается не с ; при просмотре с начала файла то её и все последующие строки до конца файла удалить, не зависимо от того с чего они будут начинаться, даже если вдруг и с ; той-же самой.


Где пример? Ты хочешь сказать, что длина ЭЦП в разных файлах разная?

arson ★★★★★
()
#!/bin/bash -x

sed '/<\/end_file>/q' <<EOF
<end_file>
</end_file>
q
w
e
EOF

sed -n '/^c;/{p;b};q' <<EOF
c; qwe
c; asd
q
w
c; zxc
e
EOF
anonymous
()
Ответ на: комментарий от anonymous

sed -n '/^c;/{p;b};q' <<EOF

А вот и плохо). {} + ; в однострочном режиме - UB, тогда проще сразу гнутый '/^c;/!Q'

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