我们经常会在显示时将单行的输出,格式化为多行的输出,通常情况下,为了完成该操作,我们将加入更多的代码,将输出的结果存入数组或临时文件,之后再重新遍历它们,从而实现单行转多行的目的。在这里我们介绍一个使用xargs命令的技巧,可以用更简单、更高效的方式来完成该功能。
[root@xieqichao ~]# cat > test18.sh
#!/bin/sh
#1. passwd文件中,有可能在一行内出现一个或者多个空格字符,
#因此在直接使用cat命令的结果时,for循环会被空格字符切开,
#从而导致一行的文本被当做多次for循环的输入,这样我们不得不在sed命令中,
#将cat输出的每行文本进行全局替换,将空格字符替换为%20。
#事实上,我们当然可以将cat /etc/passwd的输出以管道的形式传递给cut命令,
#这里之所以这样写,主要是为了演示一旦出现类似的问题该如果巧妙的处