sed を使用して文字列の最初の X 文字を削除するにはどうすればよいですか? 質問する

sed を使用して文字列の最初の X 文字を削除するにはどうすればよいですか? 質問する

私は、小型の工業用ボックスに埋め込まれた 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 を固定長パターンの形式でハードコードする必要があります。

おすすめ記事