Linux系列讲解 —— 【cat echo sed】操作读写文件内容

本文介绍了如何在Linux环境下,使用vi、echo、sed等基本命令进行文件内容的追加、覆盖、删除和修改,以及合并多个文件到目标文件的操作技巧。适合初学者理解Linux命令行文本处理基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在没有文本编辑器的情况下,可以使用linux自带的命令对文本进行读写。例如adb shell操作开发板时,vi和vim都是没有的,这个时候就可以用cat、echo、sed等命令进行编写文本内容。

1. 对已有文件内容操作

现有一个文件build.prop,内容如下:

in_engineer:/vendor $ cat build.prop
ro.vendor.camera=true
ro.vendor.usbcamera=false

1.1 文件末尾追加内容

方法一:使用echo
命令echo + 符号>>

in_engineer:/vendor $ echo "ro.vendor.test" >> build.prop

方法二:使用cat
cat命令可以追加多行内容,在下面的>后输入内容,结束并退出时输入EOF即可。

in_engineer:/vendor $ cat >> build.prop << EOF
> ro.vendor.test=false
> EOF

注:
 这里支持多行粘贴,可以将其他文件的内容(包括回车)直接粘贴过来。
 上面的结尾标志符可以自定义,不一定是EOF

结果:

in_engineer:/vendor $ cat build.prop
ro.vendor.camera=true
ro.vendor.usbcamera=false
ro.vendor.test=false

1.2 对文件覆盖新内容

方法一:使用echo
符号>的作用是覆盖,注意和上面说的>>区分开

in_engineer:/vendor $ echo "ro.vendor.test" > build.prop

方法二:使用cat
同样也是使用>

in_engineer:/vendor $ cat > build.prop << EOF
> ro.vendor.test=false
> EOF

注:
 这里支持多行粘贴,可以将其他文件的内容(包括回车)直接粘贴过来。
 上面的结尾标志符可以自定义,不一定是EOF

结果:

in_engineer:/vendor $ cat build.prop
ro.vendor.test=false

1.3 删除文件的某一行内容

#删除第一行
in_engineer:/vendor $ sed -i '1d' build.prop

#删除第3行
in_engineer:/vendor $ sed -i '3d' build.prop

#删除最后一行
in_engineer:/vendor $ sed -i '$d' build.prop

#删除以ro开头的所有行
in_engineer:/vendor $ sed -i '/^ro/d' build.prop

#删除包含ro的所有行
in_engineer:/vendor $ sed -i '/ro/d' build.prop

1.4 修改文件中某一行内容

比如将build.prop第二行内容"ro.vendor.usbcamera=false"改为"ro.vendor.usbcamera=true"

sed -i 's/ro.vendor.usbcamera=false/ro.vendor.usbcamera=true/g' build.prop

#sed默认支持基础的正则表达式,所以也可以像下面这么写
#表示只匹配一整行只有"ro.vendor.usbcamera=false"的字符
sed -i 's/^ro.vendor.usbcamera=false$/ro.vendor.usbcamera=true/g' build.prop

2. 合并多个文件内容到其他文件

#将1.txt和2.txt的内容拼接并拷入到 3.txt中
in_engineer:/vendor $ cat 1.txt 2.txt > 3.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星际工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值