LINUX.ORG.RU

Передача вывода grep в качестве аргументов командной строки

 


0

1

Здравствуйте.

Сабж. Проблема в том, что имеются строки с пробелами и они предаются как отдельные аргументы, а как это правильно экранировать, без перегонки через цикл, как-то не нагуглил.

Заранее спасибо.

★★

Например, использовать двойные кавычки. Например, так:

[code]$ echo «echo hello»[code]

Внутреннюю команду echo заменяйте нужной вам grep.

anarquista ★★★★★
()
Последнее исправление: anarquista (всего исправлений: 1)
Ответ на: комментарий от anarquista

xargs: cannot fit single argument within argument list size limit

l4gfcm ★★
() автор топика
pve # readarray -t < <( grep . /sys/devices/system/cpu/vulnerabilities/*; )
pve # parallel echo "arg: " -- "${MAPFILE[@]}"
arg:  /sys/devices/system/cpu/vulnerabilities/mds:Vulnerable; SMT vulnerable
arg:  /sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion; VMX: vulnerable
arg:  /sys/devices/system/cpu/vulnerabilities/meltdown:Vulnerable
arg:  /sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Vulnerable
arg:  /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable, IBPB: disabled, STIBP: disabled
arg:  /sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
arg:  /sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
arg:  /sys/devices/system/cpu/vulnerabilities/srbds:Vulnerable: No microcode
arg:  /sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Vulnerable
anonymous
()
Ответ на: комментарий от anonymous

Если из-за parallel не совсем ясно:

pve # test() { echo "$1"; }
pve # test "${MAPFILE[@]}"
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Vulnerable
anonymous
()
Ответ на: комментарий от anonymous
#!/bin/bash

test() {
	echo "${*}"
}

readarray -t < <( grep . /sys/devices/system/cpu/vulnerabilities/*; )

test  "${MAPFILE[@]}"
vitus@devuan:/tmp$ ./tt.sh 
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:Not affected /sys/devices/system/cpu/vulnerabilities/l1tf:Not affected /sys/devices/system/cpu/vulnerabilities/mds:Not affected /sys/devices/system/cpu/vulnerabilities/meltdown:Not affected /sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Not affected /sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable, STIBP: disabled /sys/devices/system/cpu/vulnerabilities/srbds:Not affected /sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected
vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

«${*}»

Что ты этим хотел сказать?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.