sed 如何使用变量代替行号
时间: 2023-05-14 22:05:13 浏览: 607
可以使用以下命令将变量代替行号:
```
sed "${line_number}s/search/replace/g" file.txt
```
其中,`${line_number}`是代表行号的变量名,`search`是要查找的字符串,`replace`是要替换的字符串,`file.txt`是要操作的文件名。
相关问题
sed多行替换指定行号
使用 `sed` 命令可以实现多行替换指定行号的操作,具体命令如下:
```
sed 'start_line,end_line s/old_string/new_string/g' file_name
```
其中,`start_line` 和 `end_line` 分别表示要替换的起始行号和结束行号,`old_string` 表示要被替换的字符串,`new_string` 表示要替换成的新字符串,`file_name` 表示要进行替换的文件名。
例如,如果要将文件 `test.txt` 的第 3 行到第 5 行中的所有 `old` 替换成 `new`,可以使用以下命令:
```
sed '3,5s/old/new/g' test.txt
```
注意,如果要直接修改原文件,可以使用 `-i` 参数,例如:
```
sed -i '3,5s/old/new/g' test.txt
```
shell echo 变量 | sed作为变量输出
可以使用命令替换来实现,即将命令放在 $() 中,例如:
```
variable=$(echo "hello" | sed 's/h/l/g')
echo $variable
```
这里将 "hello" 通过 sed 命令替换成 "lello",然后将结果赋值给变量 variable,最后输出变量的值。
阅读全文