前言
本节比较简单,主要讲述在Linux下,如何通过命令行的方式实现文本的写入和删除,主要涉及到echo,sed等命令。
写入
echo命令
echo命令本身的作用是在命令行显示文本,不过可以通过重定向符号>,>>实现文本的写入。
# 展示文本
$ echo $SHELL
/bin/zsh
# 覆盖写入
$ echo "Hello World" > echo.log
# 利用>的特性,有时也被用于清空文件
$ echo '' > echo.log
# 追加写入(常用于设置环境变量)
$ echo "Hello World Append" >> echo.log
# 多行写入
$ echo "Hello World Append\nHi Friend" >> echo.log
cat命令
cat命令前面我们提到过,也是用于展示文本,结合重定向符号也能实现和echo一样的效果。
# 覆盖写入
cat>echo.log<<EOF
第一行文字
第二行文字
第三行文字
EOF
# 追加写入
cat>>echo.log<<EOF
第一行文字
第二行文字
第三行文字
EOF
删除
sed命令
sed作为强大的流处理工具,不仅可以统计文本、同样也可以删除文本。
# 删除首行
sed -i '1d' plan.log
# 删除前100行
sed -i '1,100d' plan.log
# 删除尾行
sed -i '$d' plan.log
注:以上用法不适用于Mac
tail命令
# 删除前两行
# 注意new_file和old_file名称不能一致
tail -n +3 old_file > new_file