我想列出所有服务/etc/init.d/
和 grep 模式并将它们存储在数组中。例如如下所示。
ls -la /etc/init.d/ | grep example-subs | awk '{ print $9 }'
example-subs-sidekick
example-subs-unicorn
并将返回的字符串存储在数组中。但不知何故它没有发生。我使用了以下命令。
gawk -F: '{ print $9 }' ls -la /etc/init.d/ | grep example-subs
gawk -F: '{ print $9 }' "ls -la /etc/init.d/ | grep example-subs"
gawk -F: '{ print $9 }' 'ls -la /etc/init.d/ | grep example-subs'
gawk -F: '{ print $9 }' `ls -la /etc/init.d/ | grep example-subs`
awk '{ print $9 ls -la /etc/init.d/ | grep example-subs }'
awk '{ print $9 "ls -la /etc/init.d/ | grep example-subs" }'
awk '{ print $9 `ls -la /etc/init.d/ | grep example-subs` }'
awk '{ print $9 (ls -la /etc/init.d/ | grep example-subs) }'
awk '{ print $9 "(ls -la /etc/init.d/ | grep example-subs)" }'
但没有任何效果。有人能帮忙吗?
答案1
使用第一个命令作为数组分配的一部分:
array=($(ls -a /etc/init.d/ | grep example-subs))
您不需要使用awk
。如果您使用ls
而不是ls -l
,它只会打印文件名。