sed -i.bak 用法
时间: 2023-05-19 09:00:43 浏览: 80
sed -i.bak 是一个 Linux 命令,用于在文件中进行文本替换。其中,-i 表示直接修改文件,.bak 表示在修改前备份原文件。例如,执行 sed -i.bak 's/old/new/g' file.txt 将会把 file.txt 中所有的 old 替换成 new,并在修改前备份原文件为 file.txt.bak。
相关问题
Linux如何删除文件中的空行
在 Linux 中,可以使用 sed 命令来删除文件中的空行。sed 是一个文本编辑器,可以用来对文本文件进行编辑和转换。
以下是使用 sed 命令删除文件中的空行的方法:
```
sed -i '/^$/d' filename
```
其中,-i 表示直接修改文件内容,而不是输出到标准输出;/^$/d 表示删除空行,^ 表示一行的开头,$ 表示一行的结尾,/^$/ 表示空行。filename 是要删除空行的文件名。
执行以上命令后,文件中的空行就会被删除掉。如果想备份原文件,可以在命令中指定备份文件的后缀,例如:
```
sed -i.bak '/^$/d' filename
```
这样,原文件会被备份为 filename.bak,而新文件中的空行已被删除。
bash 查找文本中的某一行并删除
在bash中,可以使用grep命令来查找文本中的某一行。如果要删除匹配到的行,可以通过sed命令来实现。
假设有一个文本文件test.txt,其中包含多行文本。如果要查找并删除包含某个关键字的行,可以使用以下命令:
grep "关键字" test.txt | sed -i '/关键字/d'
其中,"关键字"是要查找并删除的行中的某个词语或字段。grep命令用于查找包含关键字的行,并将结果传递给sed命令。sed命令中的选项-i用于直接修改test.txt文件,/关键字/表示要删除包含关键字的行。执行完以上命令后,包含关键字的行将被删除。
需要注意的是,使用sed命令的-i选项会直接修改原始文件。如果想要保留原始文件的备份,可以将-i选项替换为-i.bak,这样在执行命令后会保留一个名为test.txt.bak的备份文件。
以上就是使用bash来查找文本中某一行并删除的方法。