sed命令常用例子
- 替换文件中的文本
将文件file.txt中的所有"old_text"替换成"new_text":
sed -i ‘s/old_text/new_text/g’ file.txt
- 删除文件中的某行
删除文件file.txt中的第5行:
sed -i ‘5d’ file.txt
- 在文件中添加一行
在文件file.txt的第2行添加一行"new_line":
sed -i ‘2i\\new_line’ file.txt
- 删除文件中某行的前n个字符
删除文件file.txt中第3行的前5个字符:
sed -i ‘3s/^…//’ file.txt
- 在文件中查找并打印匹配的文本
在文件file.txt中查找包含"search_text"的行并打印出来:
sed -n ‘/search_text/p’ file.txt
- 将多个文件合并成一个文件
将多个文件file1.txt, file2.txt和file3.txt合并成一个文件all_files.txt:
sed -n ‘1,$p’ file1.txt file2.txt file3.txt > all_files.txt
- 删除文件中的空行
删除文件file.txt中的所有空行:
sed -i ‘/^$/d’ file.txt
- 批量重命名文件
将所有以".txt"结尾的文件名中的"old_text"替换成"new_text":
for file in *.txt; do mv “ f i l e " " file" " file""(echo $file | sed ‘s/old_text/new_text/g’)”; done
- 删除文件中的最后一行
删除文件file.txt中的最后一行:
sed -i ‘$d’ file.txt
- 替换文件中某行的某个单词
将文件file.txt中第3行的"old_word"替换成"new_word":
sed -i ‘3s/old_word/new_word/g’ file.txt
- 删除文件中某行的最后n个字符
删除文件file.txt中第2行的最后5个字符:
sed -i ‘2s/…$//’ file.txt
- 在文件中查找并删除匹配的文本
在文件file.txt中查找包含"search_text"的行并删除该行:
sed -i ‘/search_text/d’ file.txt
- 替换文件中某个单词
将文件file.txt中所有"old_word"替换成"new_word":
sed -i ‘s/old_word/new_word/g’ file.txt
- 在文件中插入空行
在文件file.txt的第4行和第5行之间插入一个空行:
sed -i ‘4i\\’ file.txt
- 替换文件中的文本并备份原文件
将文件file.txt中所有"old_text"替换成"new_text"并备份原文件:
sed -i.bak ‘s/old_text/new_text/g’ file.txt