スラッシュで囲まれた最初の文字列を削除するシェルコマンド

スラッシュで囲まれた最初の文字列を削除するシェルコマンド

スラッシュ内の文字列を削除するには、シェルコマンド(sedまたはawkを好む)が必要です。

たとえば、私の文字列が次のような場合、/some/dir/example/出力は次のようになります。dir/example/

答え1

 $ string=/some/dir/example/
 $ printf '%s\n' "${string#/*/}"
 dir/example/

これはPOSIXシェル構文です。

答え2

私達は一緒にsedできます:

INPUT | sed 's|^/[^/]*/||'

ただし、これはファイルタイプデータにのみ必要です。シェルパラメータについてはすでに答えを得ています。

答え3

渡すawk

$ echo '/some/dir/example/' | awk -F'/' -v OFS='/' '{ print $3,$4FS}'
dir/example/

または

$ echo '/some/dir/example/' | awk -F'/' '{ print $3FS$4FS}'
dir/example/

関連情報