Как & ldquo; искать и заменять & rdquo; много файлов?

sudo apt-get install libzmq-dev
sudo easy_install pyzmq

Эта версия 2.2.0 версии libzmq-dev установлена. pyzmq жаловался, что это 3,2,0, и возможности, превышающие 2.2.0, не могут быть использованы (поскольку его базовый libzmq был 2.2.0). Пробовал загружать его в python, и он дал целую кучу ошибок.

Итак:

apt-get purge libzmq-dev

и установлен libzmq после выполнения git-клона с сайта zmq git. Он установил версию libzmq 3.2.0 просто отлично. Тем не менее, пытаясь затем установить pyzmq, были даны такие ошибки, как «timer_create undefined». Один сайт сказал, мне нужно было обновить мой Cython - что я и сделал .. вер. 19.x. Еще одна ошибка. Так что удалены libzmq и pyzmq снова.

Была ли чистая установка с помощью

sudo apt-get install python-zmq

Это сделало правильную установку, но более старой версии 2.2.0. Хорошо, я думаю, что у меня есть что-то лучше, чем ничего.

Почему это должно быть так чертовски сложно ... grrrrr ....

8
задан 2 February 2012 в 18:52

7 ответов

Вы ищете команду sed. Например, чтобы заменить «собаку» на «кошку» во всех текстовых файлах в текущем каталоге:

sed -i 's/dog/cat/' *.txt
16
ответ дан 25 May 2018 в 14:39

sed - правильный инструмент; но в качестве альтернативы вы можете использовать команды ex в vim:

vim -c 'args <files> | argdo %s/cat/dog/g | x'

, где <files> - список файлов или шаблонов, в которых вы хотите сделать замену. [ ! d1]

1
ответ дан 25 May 2018 в 14:39

sed приходит на ум. Пример:

sed s/cat/dog/ <input >output

Выполняет поиск кота в строке и помещает собаку на место в файле и записывает в файл.

0
ответ дан 25 May 2018 в 14:39

Вы можете использовать Vim в режиме Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
% выбрать все строки s заменить g заменить все экземпляры в каждой строке x сохранить и закрыть
0
ответ дан 25 May 2018 в 14:39

sed - правильный инструмент; но в качестве альтернативы вы также можете использовать команды ex в vim:

vim -c 'args <files> | argdo %s/cat/dog/g | x'

, где <files> - список файлов или шаблонов, в которых вы хотите сделать замену.

1
ответ дан 2 August 2018 в 02:00

sed приходит на ум. Пример:

sed s/cat/dog/ <input >output

Выполняет поиск кота в строке и помещает собаку в место ввода файла и записывает в файл.

0
ответ дан 2 August 2018 в 02:00

sed - правильный инструмент; но в качестве альтернативы вы также можете использовать команды ex в vim:

vim -c 'args <files> | argdo %s/cat/dog/g | x'

, где <files> - список файлов или шаблонов, в которых вы хотите сделать замену.

1
ответ дан 7 August 2018 в 19:47

Другие вопросы по тегам:

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