私は、小型の工業用ボックスに埋め込まれた Linux 用のシェル スクリプトを書いています。テキストを含む変数がありpid: 1234
、行の最初の X 文字を削除して、1234 文字だけを残したいと考えています。「クリーンアップ」する必要がある変数が他にもあるため、最後の X 文字を切り取る必要がありますが、${string:5}
何らかの理由で私のシステムでは機能しません。
箱に入っているのは だけだそうですsed
。
私は次のことを実行しようとしています:
result=$(echo "$pid" | sed 's/^.\{4\}//g')
何か案は?
ベストアンサー1
次のようにすれば動作するはずです:
var="pid: 1234"
var=${var:5}
bash
シェルがスクリプトを実行しているのは確かですか?
POSIX準拠の
var=${var#?????}
外部プロセスを使用するよりも望ましいですが、この場合、5 を固定長パターンの形式でハードコードする必要があります。