Local/Remote ls

ps -o args= -p "$pid"

Сообщит вам список аргументов, переданный последней команде, которую выполнял процесс (или, если он не выполнял никакой, той, которую выполнял его родитель ...), при условии, что процесс не переопределил свой список аргументов впоследствии.

ps покажет, что список arg объединен с пробелами до предела, который вы можете увеличить с помощью некоторых реализаций ps , добавив пару -w параметры). В Linux вы можете увидеть список аргументов, разделенных байтами NUL, в / proc / $ pid / cmdline .

lsof +fg -ap "$pid" -d 0-2

Сообщит вам, на что указывают файловые дескрипторы stdin, stdout и stderr процесса и в каком режиме они были открыты (например, W, AP для записи только с добавлением, как если бы > > перенаправление использовалось в оболочке POSIX).

2
31.05.2019, 17:20
2 ответа

Обратные кавычки и $( … )интерполируются внутри двойных кавычек. Используйте одинарные кавычки, и это сработает.

sudo ssh p210243@192.75.110.40 'cd /var/opt/OV/log/nnm/; files=`ls -t | grep -m 3 trap.csv`; echo $files'

Или вообще избегайте подоболочки с помощью xargs:

sudo ssh p210243@192.75.110.40 'ls -td /var/opt/OV/log/nnm/* | grep -m 3 trap.csv | xargs grep '$ipAddress
3
27.01.2020, 21:55

В оболочке zshтри файла с самой последней отметкой времени модификации, с именами файлов, соответствующими *trap.cvsв каталоге /var/opt/OV/log/nnm, будут иметь шаблон

/var/opt/OV/log/nnm/*trap.cvs(.om[1,3])

, где (...)изменяет поведение предыдущего шаблона. .выбирает только обычные файлы, (, а не имена каталогов и т. д. )и omупорядочивают, уменьшая временную метку модификации. [1,3]возвращает только первые три совпадения (или меньше, если совпадений меньше ).

Итак, если на удаленной машине установлена ​​оболочка zsh,вы могли бы сделать

ssh p210243@192.75.110.40 zsh -c 'grep -wF "$1" /var/opt/OV/log/nnm/*trap.cvs(.om[1,3])' zsh "$ipAddress"

Это запустит grepдля поиска IP-адреса, хранящегося в $ipAddressв трех последних измененных файлах в удаленной системе.

Флаги, используемые с grep, заставляют использовать сравнение строк, а не сопоставление регулярных выражений (, то есть -F), и требует, чтобы совпадающая строка была полным словом (, то есть -w; так что 123.123.123.123не соответствует23.123.123.1).

2
27.01.2020, 21:55

Теги

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