удар: вставьте символ в указанном положении в файле

На самом деле единственное надежное решение, которое я знаю этого, может обработать все имена файлов, включая тех, которые имеют новую строку в них:

find . -maxdepth 1 -print0 | xargs -n 1 -0 command -r

Единственное не допустимый символ в имени файла в этом случае является нулевым символом, который не позволяется в именах файлов так или иначе.

4
23.11.2013, 01:39
2 ответа

sed -r -e 's/^.{15}/&#/' file

результаты в

word1          #something       blabla
anotherword    #somethingelse   asdf
yetanother     #else            123
8
27.01.2020, 20:47
  • 1
    Это также работает в командной строке Windows? –  0x499602D2 23.11.2013, 01:43
  • 2
    @0x499602D2, Что Вы имеете в виду "командную строку Windows"? sed *, отклоняют инструмент. Вы говорите о Cygwin? –  Joseph R. 23.11.2013, 03:52
  • 3
    @JosephR. Да я –  0x499602D2 23.11.2013, 04:01
  • 4
    @0x499602D2, "Командная строка Windows", AFAIK, cmd, не Cygwin. –  JMCF125 09.02.2014, 18:05

Другое решение с awk:

awk '{$2="#"$2;print $0}' your_file

Это добавит # к запуску второго (разделенного пробелом) столбца, независимо от которого положения это происходит в.

5
27.01.2020, 20:47

Теги

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