Mat*_*ari 6 string bash replace tr str-replace
我今天的问题是用这样的字符串替换 - > 6427//6422 6429//6423 6428//6421
每个人//都有,.我尝试了不同的命令:
finalString=${startingString//[//]/,} 不起作用fileTemp=$(echo -e "$line\n" | tr "//" "," 做这样的双重替换:
hello//world ---> hello,,world
有人知道如何做到这一点?
您可以使用 BASH 字符串操作(需要使用 转义/)\/:
s='6427//6422 6429//6423 6428//6421'
echo "${s//\/\//,}"
6427,6422 6429,6423 6428,6421
Run Code Online (Sandbox Code Playgroud)
类似地使用 awk:
awk -F '//' -v OFS=, '{$1=$1}1' <<< "$s"
6427,6422 6429,6423 6428,6421
Run Code Online (Sandbox Code Playgroud)
PS: tr不能在这里使用,因为tr将输入中的每个字符转换为输出中的另一个字符,而这里您正在处理 2 个字符//。