Ubuntu/linux使用sed、echo删除、添加指定行文件

您所在的位置:网站首页 linux命令删除文件指定列 Ubuntu/linux使用sed、echo删除、添加指定行文件

Ubuntu/linux使用sed、echo删除、添加指定行文件

2024-07-14 19:14| 来源: 网络整理| 查看: 265

ubuntu/linux下使用sed、echo进行文件操作总结。

一、sed进行数据操作

1、删除file.txt的第一行、最后一行

sed -i '1d' file.txt # 删除第一行

sed -i '$d' file.txt # 删除最后一行

3、删除file.txt的第N行、第M到N行

sed -i 'Nd' file.txt   # N为具体数字,指第N行,如10

sed -i 'M,Nd' file.txt # 删除M到N行

sed -i 'M,$d' file.txt # 删除第M行到最后一行的所有行

4、删除file.txt中包含某个关键字开头的所有行

sed '/^abc/d' file.txt  #  "^abc"表示abc必须出现在行的开头,即删除abc开头的所有行

5、删除file.txt中包含某个关键字的所有行

sed '/abc/d' file.txt  #  删除包含abc的所有行(任意位置)

6、替换字符串

sed -i 's/abc/ABC/' file.txt # 替换file.txt每一行的第一个abc为ABC

sed -i 's/abc/ABC/g' file.txt # 使用后缀g,替换file.txt每一行的所有abc为ABC

sed -i 's/^/ABC/' file.txt # 在file.txt每一行的行首追加字符串ABC

sed -i 's/$/ABC/' file.txt # 在file.txt每一行的行尾追加字符串ABC

7、追加行

sed -i 'Na hello_world' file.txt # 在file.txt第N行后面追加一行"hello_world",a表示追加 

sed -i 'Ni hello_world' file.txt # 在file.txt第N行前面插入一行"hello_world",i表示插入 

sed -i '/hello/a hello_world' file.txt # 在file.txt包含"hello"的所有行后面追加一行"hello_world"

 

 *备注:以上所有命令中 -i 指在原文件上操作,操作后的结果保存到原文件;当然也可以用 - e 关键字输出操作结果到新文件。

# eg.

sed -e '1d' file.txt > new_file.txt # 删除文件file.txt的第一行,将操作后的结果保存到new_file.txt

# 其余命令类似

二、echo进行数据操作

1、显示行

echo "hello world" # 在终端打印"hello world"

2、写入行

echo "hello world" >> file.txt # 在文件file.txt末尾写入行"hello world"

3、覆盖写入

echo "hello world" > file.txt # 文件file.txt中原来内容会被覆盖,只保存"hello world",无论操作多少次,file.txt只保存最新写入的一行

4、写入包含引号的行(特别注意)

# 比如,写入line = 你好,"老王",你今天真帅!

# 注意,这里line的内容包含双引号"",属于特殊符号,需要使用转义符号

echo "你好,\"老王\",你今天真帅!" file.txt

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3