【发布时间】:2018-03-20 02:27:12
【问题描述】:
我想用反斜杠“\”替换所有斜杠“/”,反之亦然。
我幼稚的解决方案是使用 tr 执行此操作,但我需要一个占位符字符,我认为它不是很漂亮:
tr '/' '¢' | tr '\\' '/' | tr '¢' '\\'
这也只有在我的输入中从未出现“¢”时才有效,在我的情况下这很可能就足够了 - 但是嘿,谁知道呢?当然,很容易采用相同的想法并通过使用 sed 使其更健壮,然后将 '¢' 替换为任意随机字符串 - 例如 '½|#&¬_$' 或其他东西。
但我想知道是否有一些单一的 bash 命令来实现这一点,这会使这个东西更短、更易读、更健壮。也许sed 可以开箱即用?
当我们这样做的时候,这个操作的正确名称是什么?像“双向替换”。如果我知道我的谷歌搜索可能会更有成效。我也尝试了“交换字符”,但我只发现了定期替换的东西。
【问题讨论】:
标签: string bash sed replace tr