Regex 要显示的Sed命令
其中一个unix配置文件中定义了一个变量Regex 要显示的Sed命令,regex,linux,unix,sed,Regex,Linux,Unix,Sed,其中一个unix配置文件中定义了一个变量 sync="/aBCDEDF=="; export sync sync1="hikjl=="; export sync1 我希望输出显示为 sync=/aBCDEDF== sync1=hikjl== 如何使用sed命令显示?我认为使用sed没有多大意义;你可以写: printf 'sync=%s\n' "$sync" printf 'sync1=%s\n' "$sync1" 或: (这两个版本通常是等效的,但是带有printf的版本更便于携带,因为
sync="/aBCDEDF=="; export sync
sync1="hikjl=="; export sync1
我希望输出显示为
sync=/aBCDEDF==
sync1=hikjl==
如何使用sed命令显示?我认为使用
sed
没有多大意义;你可以写:
printf 'sync=%s\n' "$sync"
printf 'sync1=%s\n' "$sync1"
或:
(这两个版本通常是等效的,但是带有
printf
的版本更便于携带,因为不同的echo
实现在处理反斜杠时会出现异常情况。)假设名为infle
的文件与您显示的文件类似,以下操作将完成此操作:
sed 's/\([^;]*\);.*/\1/
s/\"//g' infile
这也起作用
set | egrep 'sync1{0,1}='
# or
set | egrep '(sync|sync1)='
这可能适用于您(GNU-sed):
它也可以用一个printf而不是两个printf来完成:
printf'sync=%s\nsync1=%s'$sync”“$sync1”
;更简单的是printf'sync=/aBCDEDF==\nsync1=hikjl='
set | egrep 'sync1{0,1}='
# or
set | egrep '(sync|sync1)='
sed -r 's/"([^"]*).*/\1/' file