替换换行符
IFS 和echo一起配合才有作用
#!/bin/bash
echo $IFS|od -b
old_if=$IFS
IFS=$'\n'
echo `lsmod|awk '{print $1}'`
IFS=$old_if
echo $IFS|od -b
结果
0000000 012 0000001 Module binfmt_misc xt_LOG nf_log_syslog xt_set ip6t_rpfilter ip6table_nat ip6table_mangle ip6table_security ip6table_raw ip6t_REJECT nf_reject_ipv6 ip6table_filter ip6_tables iptable_nat nf_nat iptable_mangle iptable_security iptable_raw ipt_REJECT nf_reject_ipv4 xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_filter ip_tables ebtable_nat ebtable_broute ebtable_filter ebtables ip_set_hash_ip udp_diag tcp_diag inet_diag libcrc32c rfkill ip_set nfnetlink intel_rapl_common intel_uncore_frequency_common isst_if_mbox_msr isst_if_common nfit crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel sha512_ssse3 sha256_ssse3 sha1_ssse3 aesni_intel crypto_simd cryptd rapl joydev input_leds pcspkr virtio_balloon floppy qemu_fw_cfg i2c_piix4 tcp_bbr sch_fq ext4 mbcache jbd2 virtio_net net_failover virtio_blk virtio_console failover ata_generic pata_acpi crc32c_intel ata_piix cirrus drm_shmem_helper drm_kms_helper serio_raw virtio_pci virtio virtio_pci_legacy_dev virtio_pci_modern_dev virtio_ring drm libata 0000000
[root@hcss-ecs-c16f ~]# echo $IFS|od -b 0000000 012 0000001 [root@hcss-ecs-c16f ~]# echo $IFS [root@hcss-ecs-c16f ~]# old_if=$IFS [root@hcss-ecs-c16f ~]# IFS=$'\n' [root@hcss-ecs-c16f ~]# echo $IFS|od -b 0000000 012 0000001 [root@hcss-ecs-c16f ~]# IFS=$old_if [root@hcss-ecs-c16f ~]# echo $IFS|od -b 0000000 012 0000001
od命令
命令用于转换不同格式的输入内容,以八进制格式为默认格式。在调试 Linux 脚本中是否存在不需要的更改或字符时,此命令特别有用。如果指定了多个文件,od 命令将按列出的顺序将它们连接起来形成输入。它可以以多种其他格式显示输出,包括十六进制、十进制和 ASCII。它对于可视化非人类可读格式的数据非常有用,例如程序的可执行代码。句法
资料
https://www.geeksforgeeks.org/od-command-linux-example/
菜鸟的自白