垂直バーを含む変数の解析

垂直バーを含む変数の解析

yadデフォルトでは、yad出力結果はパイプ文字 ""で区切られます|

文字列変数がありますoutput。これをエコーすると、次の内容が含まれていることがわかります。

/dev/sde|
name0|name1|name2|

すべての垂直バーを改行文字に変更したいと思います。

これはうまくいきません。echo "$output" | tr '|' '\n'
これも機能しません。echo "$output" > /tmp/output; echo $(cut -d'|' -f1 < /tmp/output)
どちらの試みも改行のみを出力します。/tmp/output作成されると、2 つの空行が含まれますが、テキストは含まれません。

答え1

あなたのtrは大丈夫でしょう。

脱出しよう"\|"

答え2

ついに何が起こっているのか調べました。変数が正しく設定されていません。減らす:

yad --plug=12345 --tabnum=1 &
yad --plug=12345 --tabnum=2 &
output="$(yad --notebook --key=12345)"
echo "$output"

$output結果が端末に印刷されてからエコーが発生したようです。
しかし、エコーを削除しても効果はありません。それから気づいた最初の2つのコマンドはデータを出力するコマンドです。、3番目の外部yadコマンドではありません。最初のyadコマンドの先頭に
移動すると、output="$(空の変数の問題が解決されます。

また、man yad私が望むものを正確に実行するcliフラグがあることを探索して発見しました。

--separator='\n'

関連情報