[解決済み] Bashで文字列から改行を削除する方法
2022-05-05 22:13:43
質問
次のような変数があります。
echo "|$COMMAND|"
を返します。
|
REBOOT|
最初の改行を削除するには?
どのように解決するのですか?
下 バッシュ は、いくつかのバシズムがあります。
は
tr
コマンドは次のように置き換えることができます。
//
バシズム
:
COMMAND=$'\nREBOOT\r \n'
echo "|${COMMAND}|"
|
OOT
|
echo "|${COMMAND//[$'\t\r\n']}|"
|REBOOT |
echo "|${COMMAND//[$'\t\r\n ']}|"
|REBOOT|
参照 パラメータ展開 と クオーツ をbashのmanページに追加しました。
man -Pless\ +/\/pattern bash
man -Pless\ +/\\\'string\\\' bash
man -Pless\ +/^\\\ *Parameter\\\ Exp bash
man -Pless\ +/^\\\ *QUOTING bash
さらに...
アレックス・ジョーダン氏(@AlexJordan)からの質問ですが、これは
すべて
を指定した文字です。では
$COMMAND
がスペースを含んでいる場合...
COMMAND=$' \n RE BOOT \r \n'
echo "|$COMMAND|"
|
BOOT
|
CLEANED=${COMMAND//[$'\t\r\n']}
echo "|$CLEANED|"
| RE BOOT |
shopt -q extglob || { echo "Set shell option 'extglob' on.";shopt -s extglob;}
CLEANED=${CLEANED%%*( )}
echo "|$CLEANED|"
| RE BOOT|
CLEANED=${CLEANED##*( )}
echo "|$CLEANED|"
|RE BOOT|
短く
COMMAND=$' \n RE BOOT \r \n'
CLEANED=${COMMAND//[$'\t\r\n']} && CLEANED=${CLEANED%%*( )}
echo "|${CLEANED##*( )}|"
|RE BOOT|
注
バッシュ
持つ
extglob
オプションを有効にすること (
shopt -s extglob
を使用するために
*(...)
の構文があります。
関連
-
[解決済み] zip警告 - 名前が一致しない
-
[解決済み] cygwin の ssh が終了時に "Killed by signal 1" と表示される
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bashのシンタックスエラー:予期しないファイルの終わり
-
[解決済み] Cp: ターゲットはディレクトリではありません
-
[解決済み] etc/profileでVISIBLE=NOWを設定するのはなぜですか?
-
[解決済み] sed で二重引用符と単一引用符をエスケープするにはどうしたらいいですか?
-
[解決済み] eval "$(docker-machine env default) "とする。
-
[解決済み] docker alpine /bin/sh script.sh not found
-
[解決済み] bashでのDiffコマンド
-
[解決済み] IPアドレスのまとめ方
-
[解決済み] bashの"-ne "はどういう意味ですか?
-
[解決済み] BashでDo-whileループをエミュレートする