ls /proc/
1 10984 11246 131 144 167 2099 31788 4805 5375 6762 7594 8111 8722 consoles
10 10993 11247 1314 14400 168 21 32 4807 5379 6771 76 8112 8738 cpuinfo
100 10998 11248 13163 14403 169 210 32408 4818 5386 6788 7601 8113 8752 crypto
101 11 11249 132 14404 17 211 33 4831 5388 68 7619 8114 8768 devices
102 110 11251 133 14405 170 2111 34 4833 54 6808 7625 8115 8789 diskstats
10202 11012 11252 134 14406 1726 2115 3489 4846 5417 6827 7626 8116 88 dma
cat /proc/10993/root/run_command
/usr/sbin/libvirtd --listen(nova-libvirt)
我想获取所有PID run_command
cd /proc
cat */root/run_command
/etc/barbican/vassals --logto /var/log/kolla/barbican/barbican-api.loguwsgi --master --emperor /etc/barbican/vassals --logto /var/log/kolla/barbican/barbican-api.loguwsgi --master --emperor /etc/barbican/vassals --logto /var/log/kolla/barbican/barbican-api.log/opt/kibana/bin/kibanabarbican-keystone-listenerbarbican-keystone-listenerheat-api-cfnheat-api-cfnneutron-dhcp-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.inimistral-server --server executor --config-file /etc/mistral/mistral.confneutron-dhcp-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.inimistral-server --server executor --config-file /etc/mistral/mistral.conf/usr/sbin/sshd -Dtacker-server --config-file /etc/tacker/tacker.conf/usr/sbin/sshd -Dtacker-server --config-file /etc/tacker/tacker.conf/usr/sbin/apache2/usr/sbin/td-agent/usr/bin/mysqld_safeglance-registry/usr/sbin/apache2start-ovsdb-server 127.0.0.1/usr/bin/mysqld_safeglance-registrynova-apistart-ovsdb-server 127.0.0.1nova-consoleauthnova-api/usr/sbin/libvirtd --listennova-consoleauth/usr/bin/memcached -v -l 10.60.6.174 -p 11211 -c 5000 -U 0/usr/bin/memcached -v -l 10.60.6.174 -p 11211 -c 5000 -U 0/usr/sbin/libvirtd --listenneutron-metadata-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini/usr/sbin/libvirtd --listenmistral-server --server engine --config-file /etc/mistral/mistral.confneutron-metadata-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.inimistral-server --server engine --config-file /etc/mistral/mistral.confstart-ovsdb-server 127.0.0.1/usr/share/elasticsearch/bin/elasticsearchsleep infinity/usr/share/elasticsearch/bin/elasticsearchbarbican-workersleep infinitynova-conductorbarbican-worker/opt/kafka/bin/kafka-server-start.sh /etc/kafka/kafka.server.propertiesnova-compute/usr/sbin/libvirtd --listen/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2/usr/sbin/apache2no ...
但读起来太乱了。 如何将每条记录(每个文件的内容)放在单独的行上?
run_comand_content1
run_comand_content2
run_comand_content3
或者
run_comand_content1
run_comand_content2
run_comand_content3
答案1
你可以把它放在一个循环中:
对于 /proc/[0-9]* 中的 i 做 printf "${i}\t" 猫 ${i}/root/run_command 打印“\n” 完毕
答案2
您可以使用awk
:
awk 'FNR==1{printf ""}1' */root/run_command
或用---
换行符分隔:
awk 'FNR==1{print "---"}1' */root/run_command
awk 'FNR==1{printf "\n"}1' */root/run_command
请参阅此处更多答案,例如使用sed
:
sed -e '$s/$/\n/' -s */root/run_command