Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 要显示的Sed命令_Regex_Linux_Unix_Sed - Fatal编程技术网

Regex 要显示的Sed命令

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的版本更便于携带,因为

其中一个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
的版本更便于携带,因为不同的
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