${var//Pattern/Replacement}
を使用してタブをスペースに置き換えるにはどうすればよいですか?タブを空白に置換するBashパラメータ置換を使用して
${var//\t/ }
は私にとっては機能しません。
${var//Pattern/Replacement}
を使用してタブをスペースに置き換えるにはどうすればよいですか?タブを空白に置換するBashパラメータ置換を使用して
${var//\t/ }
は私にとっては機能しません。
あなたは、実際のTAB文字を入力する必要があります。VTAB、TAB文字を挿入するには、コマンドライン、 に
var=${var///}
^that's really meant to be a TAB character
but might not be visible on this site
を プレスコントロールを。
\ tはbash正規表現でTABを賛美しません。
${var//$(echo -e "\t")/ }
実際のタブ文字をPuTTYを通してbashシェルに入力すると、ここに追加するのは簡単ではありません。 CTRL
V
TAB
CTRL
V
がペーストとしてウィンドウにキャプチャされているため動作しません。
は、代わりに私が使用します。
${var//$'\t'/ }
例:
$ var="te"$'\t'"st"
$ echo $var
te st
$ echo ${var//$'\t'/i}
teist
'echo $ var' '(実際にはタブを出す)、' echo $ var'(文字列分割と両側を 'echo'とは別の引数として渡すことでスペースで区切る)を表示するかもしれません。同様に 'echo $ {var // $ '\ t'/i}" 'は現在の/既知の' var'値と正常なIFSで何も修正できないかもしれませんが、他の場所で使う。 –
'エコー-e'は、またはあなたがやりたいことではない場合があります。実装の中には、出力の一部として "-e"を出力するものがあります。 'printf '\ t''ははるかに移植性があります。 –
いくつかの実装だけでなく、いくつかのモードではbashさえあります(つまり、 'xpg_echo'と' posix'ランタイムフラグが設定されている場合)。もしあなたがコマンド置換をしたいならば、 'printf '\ t''はもっと信頼できます。 –
(これは "bash regex"ではありません - fnmatch/glob式です)。 –