我想交换文件中的两个字符串
以下是示例
[ link ]( text )
我想做到
[ text ]( link )
我该怎么做?我尝试了一下,但做不到
链接 =http://something.com等文本可以是任何内容
答案1
$ echo "[ link ]( text )" | perl -pe 's/\[(.*?)\]\((.*?)\)/[$2]($1)/g'
[ text ]( link )
答案2
在 bash 中,假设括号和空格是固定的,这样做可以实现这一点:
a=$(echo "[ link ]( text )" | cut -d ' ' -f 4) ; b=$(echo "[ link ]( text )" | cut -d ' ' -f 2) ; echo "[ $a ]( $b )"
您可以将其缩短,但希望这种方式能够清楚地说明其工作原理。如果您希望将其作为脚本,请将输入文本替换为“$1”。
要从文件输入read
则使用。