Поиск и сплошная линия замены в рекурсивных файлах

Проблема состоит в том, что обратными галочками не заменяют в каждый волшебный раз, но только однажды, таким образом, Ваша подсказка установлена на что pwd Вы были в. Для перевыполнения чего-то каждый раз, когда Вы вводите команду, используете function precmd() который должен сбросить Ваш $PROMPT. Например, это - очень полезная функция, которая сбрасывает Вашу подсказку согласно текущему каталогу:

function windows() {
    clear
    echo -e "Microsoft Windows 2000 [Version 5.00.2195]\n(c) Microsoft Corporation, 1985-2000.\n"
    function precmd() {
        PWD=$(pwd)
        PWD=${PWD/\/usr/\/Program Files}
        PWD=${PWD/\/home\/$(whoami)/\/Documents and Settings\\Administrator}
        PWD=${PWD/\/home/\/Documents and Settings}
        PWD=${PWD/\/sbin/\/Windows}
        export PS1="C:${PWD//\//\\}> "
    }
}

... или просто используйте %~ в Вашем PS1, как это:

PS1=' %n@%m: %~%# '

где %n пользователь, %m хост, %~ текущий каталог и %# индикатор суперпользователя.

1
25.04.2013, 23:21
2 ответа
find . -type f -exec sed -r -i "/textword/d" {} +

Помните, что искомый текст интерпретируется как regexp sed-r опция), таким образом, этому, возможно, понадобился бы выход.

Использовать sed -i.backup скопировать исходные файлы как <filename>.backup.

1
27.01.2020, 23:39

С GNU find и sed Вы могли:

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'
1
27.01.2020, 23:39

Теги

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