鉴于这两个字符串:
"12345"
"1245"
Run Code Online (Sandbox Code Playgroud)
第一个是完整的字符串,第二个是第一个缺少的东西,我希望它返回“3”。
所以再次:
"The ball is red"
"The is red"
Run Code Online (Sandbox Code Playgroud)
我要回“球”
我试过 diff 与:
diff <(echo "12345") <(echo "1245")
Run Code Online (Sandbox Code Playgroud)
但是 diff 没有给出所需的输出。comm 也不做我想要的。
我认为这comm是正确的命令:
comm -23 <(tr ' ' $'\n' <<< 'The ball is red') <(tr ' ' $'\n' <<< 'The is red')
Run Code Online (Sandbox Code Playgroud)
或更灵活:
split_spaces() { tr ' ' $'\n' <<< "$1"; }
split_chars() { sed $'s/./&\\\n/g' <<< "$1"; }
comm -23 <(split_spaces 'The ball is red') <(split_spaces 'The is red')
comm -23 <(split_chars 12345) <(split_chars 1245)
Run Code Online (Sandbox Code Playgroud)