sed 修改每一行内容
时间: 2023-05-31 15:08:02 浏览: 100
这个问题属于技术问题,我可以帮您解答。sed是一个流编辑器,可以在文件读入时进行操作,并且可以将处理结果发送到标准输出。想要修改每一行的内容,可以使用sed命令结合正则表达式进行替换。比如:
sed 's/old/new/g' file.txt
其中,old表示待替换的内容,new表示替换后的内容,g表示全局替换。file.txt表示待处理的文件名。这个命令将替换每一行的old为new。
相关问题
sed替换某一行内容为自己终端输入内容
要使用 `sed` 命令将某一行的内容替换为终端输入的内容,可以使用以下令:
```
read -p "Enter new content " new_content
sed -i "N s/.*/$new_content/" file.txt
```
其中`read` 命令用从终端读入输入的内容,并将其保存到变量 `new_content` 中;`-p` 选项用于指定提示符,提示用户输入新的内容。`sed` 命令中,`N` 表示要操作的行号,`s` 表示替换命令,`.*/` 表示匹配整行内容,`$new_content` 表示要替换成的新内容,`file.txt` 表示要操作的文件名。`-i` 选项表示直接修改文件,不输出到终端。
执行该命令后,会提示用户输入新的内容,输入完成后,该行的内容就会被替换为用户输入的新内容。
sed替换某一行的内容
可以使用`sed`命令来替换某一行的内容。假设要替换文件`file.txt`中第3行的内容为"new content",可以使用以下命令:
```
sed -i '3s/.*/new content/' file.txt
```
其中,`-i`选项表示直接修改文件内容,`3s`表示替换第3行,`.*/`表示匹配第3行的所有内容,`new content`表示替换后的内容。
阅读全文