Начиная с Вашего $INPUT
переменная использует новые строки в качестве разделителей, я собираюсь предположить, что Ваши файлы не будут иметь новых строк на имена. По сути, да, существует простой способ выполнить итерации по файлам и сохранить пробел.
Идея состоит в том, чтобы использовать read
встроенная оболочка. Обычно read
разделит на любом пробеле, и таким образом, пробелы повредят его. Но можно установить IFS=$'\n'
и это вместо этого разделит на новых строках только. Таким образом, можно выполнить итерации по каждой строке в списке.
Вот самое маленькое решение, которое я мог предложить:
INPUT="foo/target/a.jar
foo/target/b.jar
bar/target/b.jar
bar/target/lol whitespace.jar"
dostuffwith() {
echo "$1"
}
echo "$INPUT" | awk -F/ '{if (!seen[$NF]++) print }' | \
while IFS=$'\n' read file; do
dostuffwith "$file"
done
В основном это отправляет "$INPUT" в awk
который дедуплицирует на основе имени файла (оно разделяет на /
и затем печатает строку, если последний объект не был замечен прежде). Затем, после того как awk генерировал список путей к файлам, мы используем while read
выполнить итерации через список.
] Нет, с помощью переключателя [] --config[
] можно определить [] multitail[
], откуда взять файл конфигурации.[
--config filename
Load the configuration from given filename.
]
[] Дополнительную информацию см. в man-странице[
].Это может зависеть от того, какая у вас версия MultiTail.
Это для v6.4.2(через$ multitail -V
).
Выполнить
$ multitail -h #and it says the following:
*** configuration file ***
-F file use 'file' as configuration file (instead of /etc/multitail.conf)
--no-load-global-config do not read /etc/multitail.conf
-o config_file_parameter do a setting which would normally be set in the configuration file
Это противоречит тому, что написано на справочной странице, поскольку на справочной странице перечислены как -F, так и --config.
Кстати, на справочной странице есть и другие очевидные ошибки, или, по крайней мере, она не соответствует тому, что написано в $multitail -h
.
Так что подумай.:-)
просто так:
alias multitail='multitail -F customconfiglocation'