shell之sed

sed [options] 'command' file_name

options
-i   直接修改原文件
-n   
-e   组合多个 sed 命令

command
s/xx/yy/   替换xx为yy
i      插入
a      追加
d      删除
g G    全局
p      打印

sed 's/old_text/new_text/' filename.txt      # 将文件中首次出现的 old_text 替换为 new_text
sed 's/old_text/new_text/2' filename.txt     # 替换每行中第二个出现的 old_text
sed 's/old_text/new_text/g' filename.txt     # 替换所有出现的 old_text 为 new_text
sed -i 's/old_text/new_text/g' filename.txt  # -i 直接修改原文件; 默认情况下不修改原文件

sed '2d' filename.txt          # 删除文件中的第 2 行
sed '/pattern/d' filename.txt  # 删除所有包含 pattern 的行
sed '/^$/d' filename.txt       # 删除文件中的所有空行

sed '2i\This is a new line' filename.txt   # 在第 2 行 之前 插入 This is a new line
sed '2a\This is a new line' filename.txt   # 在第 2 行 之后 插入 This is a new line

sed '2,4s/old_text/new_text/' filename.txt   # 替换第 2 行到第 4 行之间的 old_text 为 new_text

sed -n '2p' filename.txt          # 仅打印文件中的第 2 行
sed -n '/pattern/p' filename.txt  # 打印出包含 pattern 的所有行

sed -e 's/old_text/new_text/g' -e '/pattern/d' filename.txt  
# 先替换所有的 old_text 为 new_text,然后删除包含 pattern 的行

END

全部评论

相关推荐

见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务