У меня есть файлы журнала в двух каталогах, для простоты я буду называть их dir 1 и dir 2.
Допустим, пользователь вводит файл file.log, который находится в каталоге dir1, я должен указать -f все файлы из каталога dir1 и dir2, кроме file.log. Может кто-нибудь помочь мне с этим, пожалуйста.
ssh host 'find /path/to/a/log -maxdepth 1 -type f -name "file*" -name "*.log" ! -name "$1" -print0 -exec tail {} \;' > /home/pl-${node}.log
ssh host 'find /path/to/a/log -maxdepth 1 -type f -name "file*" -name "*.out" ! -name "$1" -print0 -exec tail {} \;' > /home/pl-${node}.out
node - это просто переменная, в которой хранятся 1 и 2. Когда я ввожу ./test file-1.log, вывод будет:
pl-1.log
Oct 21 09:15 pl-1.out
Oct 21 09:15 pl-2.log
Oct 21 09:15 pl-2.out
Как вы видите, все файлы были отслежены, хотя я указал, что file-1.log не следует указывать в аргументе $1
.