Как удалить этот специальный символ в конце файла - PullRequest
0 голосов
/ 17 марта 2020

Это вывод команды cat, и я не знаю, как называется этот специальный символ, который находится в конце файла для поиска. Как удалить этот специальный символ в bash? enter image description here

РЕДАКТИРОВАТЬ :

Вот фактический файл xml (я просто копирую вставку):

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
  <types>
    <name>ApexClass</name>
    <members>CreditNotesManager</members>
    <members>CreditNotesManagerTest</members>
  </types>
  <version>47.0</version>
</Package>%

Ответы [ 4 ]

2 голосов
/ 17 марта 2020

Непонятно, как % (знак процента) заканчивается в вашем файле; его легко удалить с помощью sed:

sed -i '' 's/\(</.*>\)%.*/\1/g' file.xml

Это удалит проценты и снова сохранит ваш файл. Если вы хотите выполнить dry -run, пропустите часть -i '', так как это говорит sed о сохранении файла в строке.

Как указано в комментариях , Есть много способов сделать это. Просто убедитесь, что вы не удаляете то, что хотите сохранить.

1 голос
/ 18 марта 2020

Это на самом деле функция zsh, а не bash. Чтобы отключить его, unsetopt prompt_cr prompt_sp Отображение символа обратной подсказки означает, что строка имеет конец файла перед последним символом перевода строки ascii (символ новой строки). Как удалить этот специальный символ в конце файла

1 голос
/ 17 марта 2020

Если вам не нужно сохранять изменения, вы можете использовать grep:

grep -v "%" <file.xml

При этом используется grep вместе с обратным флагом соответствия -v. Этот метод удалит все экземпляры символа % и выведет результат в STOUT. Символ < - это способ сообщить grep, о каком файле вы говорите.

РЕДАКТИРОВАТЬ: на самом деле вам даже не нужно перенаправление, поэтому:

grep -v "%" file.xml

1 голос
/ 17 марта 2020

Если это только в последней строке, это должно работать. Использование ed(1)

printf '%s\n' '$s/%//' w | ed -s file.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...