我真正的问题是我的文件如下所示:
username=password
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用 -F=,但是如果第二列可能包含等号,我该怎么办?
name=laskjf9w8u23;oi4==
Run Code Online (Sandbox Code Playgroud)
目前我拥有的代码正在砍掉最后一个等号。我只能假设,如果该字符串前面有一个等号,它也会被截断。
这是我目前拥有的:
cat file.txt | grep "=" | sed 's/\//\\\//g' | awk --field-separator "=" --assign file="<outfile>" '{printf "\"s/@%s@/", $1 ; for (i = 2; i <= NF; i++) { printf "%s", $i ; if ($i != $NF) printf "=" } ; printf "/g\" %s\n", file; }' | xargs -n2 sed -i
Run Code Online (Sandbox Code Playgroud)
干杯!