Там какой-либо путь состоит в том, чтобы считать строки из вывода команды?

Сделайте простой сценарий названным, например, move_to_trash.sh:

#!/bin/sh

mv "$@" ~/.trash

и затем, добавьте к своему конфигурационному файлу оболочки (например, ~/.bashrc) :

alias rm /move_to_trash.sh

Для освобождения мусора периодически можно настроить cronjob. Посмотрите на это учебное руководство для примеров: http://www.ubuntututorials.com/use-crontab-ubuntu/.

8
25.08.2014, 14:09
2 ответа

Вы можете использовать bash подстановку процессов:

while IFS= read -r line; do
  ./research.sh "$line" &
done < <(./preprocess.sh)

Некоторые преимущества подстановки процессов:

  • Нет необходимости сохранять временные файлы.
  • Лучшая производительность. Чтение из другого процесса часто происходит быстрее, чем запись на диск, а затем чтение обратно.
  • Экономия времени на вычисления, так как при этом одновременно выполняются расширение параметров и переменных, подстановка команд и арифметическое расширение
8
27.01.2020, 20:08

Да! Вы можете использовать технологическую трубу | .

./preprocess.sh |
    while IFS= read -r line
    do
        ./research.sh "$line" &
    done

Процессная труба проходит стандартный выход ( STDOUT ) одного процесса на стандартный вход ( stdin ) следующего.

Вы можете необязательно поместить новенький характер после | и продлить команду на следующую строку.

Примечание: A | B эквивалентен B << (A) , но без волшебных файлов, а в более читабельном порядке, особенно когда трубопровод становится дольше.

A | B | C эквивалентен C << (b << (a))

и

A | B | C | D | E E << (d << (c << (b << (a))))

15
27.01.2020, 20:08

Теги

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