我正在尝试使用 sed 从文件中的一行中提取特定字符串。目前我正在使用 while 循环读取文件并搜索特定字符串。当找到该字符串时,我正在提取它,但是我需要使用 sed 来解析输出,以便我只获取两个斜杠之间的字符串(它是一个目录名,所以如果可能的话,我需要同时保留开头和结尾的斜杠)。这是我正在运行以搜索文件的循环:
#!/bin/sh
file=configFile.conf
while read line
do
if echo "$line" | grep -q "directory_root"
then DIR_ROOT="$line"
fi
done < "$file"
echo $DIR_ROOT
exit 0
Run Code Online (Sandbox Code Playgroud)
while 循环起作用并回显以下字符串:
directory_root /root/config/data/
Run Code Online (Sandbox Code Playgroud)
然后我需要使用 sed 以获得以下输出,以便将正确的目录名称传递给另一个脚本:
/root/
Run Code Online (Sandbox Code Playgroud)
是否可以使用 sed 和正则表达式从回显输出中仅提取上述内容?
谢谢