如何使用bash cat * 进行换行?

如何使用bash cat * 进行换行?
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

相关内容