替换换行符
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
od命令
命令用于转换不同格式的输入内容,以八进制格式为默认格式。在调试 Linux 脚本中是否存在不需要的更改或字符时,此命令特别有用。如果指定了多个文件,od 命令将按列出的顺序将它们连接起来形成输入。它可以以多种其他格式显示输出,包括十六进制、十进制和 ASCII。它对于可视化非人类可读格式的数据非常有用,例如程序的可执行代码。句法
-b 选项:以八进制格式显示输入的内容[root@hcss-ecs-c16f ~]# od -b 5.sh 0000000 043 041 057 142 151 156 057 142 141 163 150 012 012 145 143 150 0000020 157 040 044 111 106 123 174 157 144 040 055 142 012 157 154 144 0000040 137 151 146 075 044 111 106 123 012 111 106 123 075 044 047 134 0000060 156 047 012 145 143 150 157 040 140 154 163 155 157 144 174 141 0000100 167 153 040 047 173 160 162 151 156 164 040 044 061 175 047 140 0000120 012 111 106 123 075 044 157 154 144 137 151 146 012 145 143 150 0000140 157 040 044 111 106 123 174 157 144 040 055 142 012 0000155 [root@hcss-ecs-c16f ~]# cat 5.sh #!/bin/bash echo $IFS|od -b old_if=$IFS IFS=$'\n' echo `lsmod|awk '{print $1}'` IFS=$old_if echo $IFS|od -b
-c 选项:以字符格式显示输入的内容。
[root@hcss-ecs-c16f ~]# od -c 5.sh 0000000 # ! / b i n / b a s h \n \n e c h 0000020 o $ I F S | o d - b \n o l d 0000040 _ i f = $ I F S \n I F S = $ ' \ 0000060 n ' \n e c h o ` l s m o d | a 0000100 w k ' { p r i n t $ 1 } ' ` 0000120 \n I F S = $ o l d _ i f \n e c h 0000140 o $ I F S | o d - b \n 0000155
-An 它以字符格式显示输入的内容,但没有偏移量信息
od -An -c 5.sh # ! / b i n / b a s h \n \n e c h o $ I F S | o d - b \n o l d _ i f = $ I F S \n I F S = $ ' \ n ' \n e c h o ` l s m o d | a w k ' { p r i n t $ 1 } ' ` \n I F S = $ o l d _ i f \n e c h o $ I F S | o d - b \n You have new mail in /var/spool/mail/root
-A选项:通过连接一些特殊字符以不同的格式显示输入的内容
1. -Ax 表示十六进制格式(我们将 x 与 -A 连接)
2. -Ao 表示十六进制格式(我们将 o 与 -A 连接)
3. -Ad 表示十六进制格式(我们将 d 与 -A 连接) 语法:
[root@hcss-ecs-c16f ~]# od -Ax 5.sh 000000 020443 061057 067151 061057 071541 005150 062412 064143 000010 020157 044444 051506 067574 020144 061055 067412 062154 000020 064537 036546 044444 051506 044412 051506 022075 056047 000030 023556 062412 064143 020157 066140 066563 062157 060574 000040 065567 023440 070173 064562 072156 022040 076461 060047 000050 044412 051506 022075 066157 057544 063151 062412 064143 000060 020157 044444 051506 067574 020144 061055 000012 00006d [root@hcss-ecs-c16f ~]# od -Ao 5.sh 0000000 020443 061057 067151 061057 071541 005150 062412 064143 0000020 020157 044444 051506 067574 020144 061055 067412 062154 0000040 064537 036546 044444 051506 044412 051506 022075 056047 0000060 023556 062412 064143 020157 066140 066563 062157 060574 0000100 065567 023440 070173 064562 072156 022040 076461 060047 0000120 044412 051506 022075 066157 057544 063151 062412 064143 0000140 020157 044444 051506 067574 020144 061055 000012 0000155 [root@hcss-ecs-c16f ~]# od -Ad 5.sh 0000000 020443 061057 067151 061057 071541 005150 062412 064143 0000016 020157 044444 051506 067574 020144 061055 067412 062154 0000032 064537 036546 044444 051506 044412 051506 022075 056047 0000048 023556 062412 064143 020157 066140 066563 062157 060574 0000064 065567 023440 070173 064562 072156 022040 076461 060047 0000080 044412 051506 022075 066157 057544 063151 062412 064143 0000096 020157 044444 051506 067574 020144 061055 000012 0000109
- 接受来自命令行的输入,输入3行返回一个结果
[root@hcss-ecs-c16f ~]# od -c - s sdfafsdf sadf 0000000 s \n s d f a f s d f \n s a d f \n 1111111 222 111 0000020 1 1 1 1 1 1 1 \n 2 2 2 \n 1 1 1 \n
-j 它在跳过一些字节后显示输出
[root@hcss-ecs-c16f ~]# od -j4 -c 5.sh 0000004 i n / b a s h \n \n e c h o $ I 0000024 F S | o d - b \n o l d _ i f = 0000044 $ I F S \n I F S = $ ' \ n ' \n e 0000064 c h o ` l s m o d | a w k ' 0000104 { p r i n t $ 1 } ' ` \n I F S 0000124 = $ o l d _ i f \n e c h o $ I 0000144 F S | o d - b \n 0000155 [root@hcss-ecs-c16f ~]# od -j4 5.sh 0000004 067151 061057 071541 005150 062412 064143 020157 044444 0000024 051506 067574 020144 061055 067412 062154 064537 036546 0000044 044444 051506 044412 051506 022075 056047 023556 062412 0000064 064143 020157 066140 066563 062157 060574 065567 023440 0000104 070173 064562 072156 022040 076461 060047 044412 051506 0000124 022075 066157 057544 063151 062412 064143 020157 044444 0000144 051506 067574 020144 061055 000012
资料 https://www.geeksforgeeks.org/od-command-linux-example/ 标签:064143,od,051506,使用,IFS,044444,062412,020157,分隔符 From: https://www.cnblogs.com/lzjloveit/p/18048393