Журнал найденных файлов с помощью команды linux find и sed

экран -dmS рабочее пространство; screen -S workspace -X stuff $ 'ps aux> output-x \ n'

Я сначала создаю отдельный сеанс с ключом -d, я назвал свое рабочее пространство сеанса. Затем я отправляю свою команду в тот же сеанс с материалом -X, я использую $ '', но вы также можете использовать двойные кавычки, но должны использовать элемент управления M вместо \ n, что мне не нравится, поэтому я обычно используйте метод, который я описал выше.

После выполнения этого фрагмента кода вы найдете output-x со списком процессов, а также, если вы выполните:

screen -ls

, вы увидите, что сеанс был отключен.

Поскольку вы сказали, что собираетесь запустить сценарий. Возможно, вы захотите, чтобы ваш сценарий выполнял поиск отдельного сеанса (я использую рабочую область), и, если он существует, отправляйте команды в этот уже существующий сеанс, вместо того, чтобы создавать новый сеанс каждый раз, когда запускается "screen -dmS sessionName", например ниже:

    #!/bin/bash
    if ! ( screen -ls | grep workspace > /dev/null); then
       screen -dmS workspace;
    fi
    screen -S workspace -X stuff $'ps aux > output-x\n'
0
20.02.2019, 15:20
1 ответ

Вам нужно сначала найти шаблон search, затем sedи войти в журнал.

попробуйте (разрыв строки для удобства чтения)

find./ -iregex '.*\.\(txt\|html\)$' \
    -exec grep -q search {} \;  \
    -print \
    -exec sed -i 's/search/replace/g' {} + \
    > my-sed.log

где

  • searchв -exec grep -q search {} \;— ваш шаблон поиска. Обратите внимание, что вы не можете использовать +, который будет соответствовать более чем одному файлу.
  • -printраспечатать совпавший файл и таким образом записать
3
28.01.2020, 02:22

Теги

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