0

この Linux シェル コマンドを使用して、「Enter 文字」(ascii=13) を削除したい: ${variable//pattern/string}

私のスクリプトは: ${var//\n/}. うまくいきません。したがって、 ${var//\r/} に変更しても機能しません。

では、このスクリプトをどのように記述すればよいでしょうか。

前もって感謝します。

4

2 に答える 2

3

ドル拡張を使用$'\n':

${var//$'\n'/}

$'\n'リテラル改行に展開されます。この種の展開の詳細については、マニュアルのANSI-Cの引用を参照してください。bash

編集

上記は改行を置き換え、キャリッジリターンの使用を置き換えます$'\r'

${var//$'\r'/}
于 2012-08-16T13:20:10.217 に答える
0

できるよ:

var=$(echo var | tr -d '\n')

改行を削除します。またはvar=$(echo var | tr '\n' ' ')、スペースに置き換えます。

于 2012-08-16T13:19:06.420 に答える