Если решение с использованием awk
приемлемо, это приведет к удалению всех непечатаемых символов -.
Это работает в GNU awk (Linux )и BSD awk (Mac ).
awk '{ gsub(/[^[:print:][:blank:]]/,"",$0) ; print $0 }' input.xml > output.xml
gsub(/[^[:print:][:blank:]]/,"",$0)
[:print:]
[:blank:]
[^[:print:][:blank:]]
print $0
> output.xml
Сделайте то же самое с меньшим количеством нажатий клавиш (просто читать будет немного сложнее):
awk '{gsub(/[^[:print:][:blank:]]/,"")}1' input.xml > output.xml
,$0
(всю строку ввода )в gsub
, если вы проверяете всю строку. 1
в конце означает "теперь выполните действие по умолчанию (, т.е. напечатайте )для каждой строки".