我在sed
中使用bash shell script
。我想使用sed
在每行的第一位添加一些文本,定义为shell变量。
例如,
cat filename
1.cfg
2.cfg
...
100.cfg
在剧本中,
#!/bin/bash
currentd="/home/test/"
sed "/WHAT SHOUL I DO to add $currentd/" filename > filepath
我想在currentd
中的每一行的第一位添加文件路径filename
并获取filepath
文件。
答案 0 :(得分:3)
sed "s|^|$currentd|" filename > filepath
这会将每行(^
)的开头“替换”为$currentd
。这要求$currentd
不包含任何管道(|
)。
答案 1 :(得分:1)
您也可以使用awk
执行此操作,因为:
awk -v c=$currentd '{print c $0}' filename > filepath
-v
用于将awk
变量c
设置为bash变量currentd
。