一部の文字を sed に置き換えたいのですが、特定の条件が満たされた場合に限ります。
そのため、文字列のどこかに出現する場合は、つまり\tに置き換える必要があります。\バックスラッシュと物理タブ付き。発生した場合\\tは、何もしないでください。
\tロジックは、前にないすべてを置き換えること\ですが、その正規表現の書き方がわかりません。そのようなこともあまり得意ではありませんsed。
試す:
sed -r 's/^\\t|([^\\])\\t/\1\t/g' file
例:
$ cat file
hello\tworld
foo\\tbar
\tfirst
last\t
last\\t
\\tfirst
$ sed -r 's/^\\t|([^\\])\\t/\1\t/g' file
hello world
foo\\tbar
first
last
last\\t
\\tfirst
一方通行:
sed 's/[^\\]\\t/\\ /' file
差し替え部分では「バックスラッシュ2つ+Ctrl-V+Tab」