Как заменить дефис словом

Пока никакие имена файлов не имеют двоеточия в них:

IFS="\n" for f in $(file * | grep "Number of Words: 161" | sed 's/:.*$//'); do
 rm "$file"
done
2
20.03.2014, 07:29
2 ответа
[118089] Для подтверждения кода ASCII для данного символа всегда можно использовать такой инструмент, как восьмеричный дамп ([118561]od[118562]) или [118563]hexdump[118564]. Пример

Пример

Таким образом, первый [118565]-[118566] - это код ASCII [118567]2d[118568], в то время как второй [118569]-[118570] вообще не является кодом ASCII. Поэтому тире явно отличаются. На самом деле это символ UTF-8 [118571]0xe28093[118572], EN-DASH. (Спасибо [118573]@casey[118574] за пояснение!)

Для замены символа в такой строке можно использовать либо [118575]sed[118576], либо поместить строку в переменную и выполнить поиск и замену в строке для этого одного символа.

  1. sed

  2. bash

2
27.01.2020, 22:06
[118085] Можно использовать [118557]sed[118558]:
  • Для редактирования нескольких файлов на месте мы используем GNU [118559]sed[118560], можно:
  • 1
    27.01.2020, 22:06

    Теги

    Похожие вопросы