Linux 空白を改行に変換する

Linux 空白を改行に変換する

Linuxで、空白を改行に変換する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • shell: /bin/bash

手順

空白を改行に変換するには、「sed」で「’s/ /\n/g’」を使用します。

実際に、以下のように空白で長い結果が返ってくるコマンドに対して実行して確認してみます

$ firewall-cmd --get-services

RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit collectd condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rquotad rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

実行します。

$ firewall-cmd --get-services | sed 's/ /\n/g'

RH-Satellite-6
amanda-client
amanda-k5-client
amqp
amqps
apcupsd
.
.
.

改行されて表示できることが確認できます。

trを使用

「tr」を使用して、変換することも可能です。

$ firewall-cmd --get-services | tr  ' ' '\n'

改行を空白に変換

逆に改行を空白にする場合は、以下のようにします。

$ printenv | tr '\n' ' '

sedの場合は、以下のようにします。

$ printenv | sed -e ':loop; N; $!b loop; s/\n/ /g'