【Linux】echo,重定向
计划用echo命令将指定字符串重定向到一个文件中(目的不是单纯的将数据写入文件,只是试试echo能否一次将多行记录输出),内容如下
1 2 |
1,zhangsan 2,lisi |
当然最简单的办法就是逐行echo
1 2 3 4 5 6 7 |
[root@msp ~]# echo '1,zhangsan' >> f.txt [root@msp ~]# echo '2,lisi' >> f.txt [root@msp ~]# [root@msp ~]# cat f.txt 1,zhangsan 2,lisi [root@msp ~]# |
那么echo命令一次性把两行记录都重定向到f.txt中该如何实现呢?
方法一:一行写完后,引号不结束,回车后写入第二行、第三行……
1 2 3 4 5 6 7 8 9 |
[root@msp ~]# echo '3,wangwu > 4,zhaoliu' >>f.txt [root@msp ~]# [root@msp ~]# cat f.txt 1,zhangsan 2,lisi 3,wangwu 4,zhaoliu [root@msp ~]# |
方法二:\n 当然,echo需要使用-e参数,意思是启用转义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@msp ~]# echo -e '5,zhuqi\n6,maba' >> f.txt [root@msp ~]# [root@msp ~]# cat f.txt 1,zhangsan 2,lisi 3,wangwu 4,zhaoliu 5,zhuqi 6,maba [root@msp ~]# ## 如果不用-e参数开启转义,那么\n将被视为字符,效果如下: [root@msp ~]# echo '5,zhuqi\n6,maba' 5,zhuqi\n6,maba [root@msp ~]# |