パスを分割しようとしていますが、正しいコマンドを受け取ります。

パスを分割しようとしていますが、正しいコマンドを受け取ります。

パスを分割しようとしましたが、正しいコマンドを受信できませんでした。

つまり、/bin/bash/test/path/to/split文字列で区切られた2つの部分に分割/切断する必要があります/to/。つまり、文字列に分割する必要があります。

期待される出力:/bin/bash/test/pathおよび/split

切り取りコマンドオプションを試しましたが、うまくいきませんでした。

ベストアンサー1

cut単一文字の1区切り文字のみが許可されます。

bash変数は次のように処理できます。

❯ testfull="/bin/bash/test/path/to/split"
❯ testpre="${test%/to/*}"
❯ testpost="${test#*/to/}"
❯ echo "$testpre is separate from $testpost"
/bin/bash/test/path is separate from split

%pattern*パターンの後ろのすべてとパターンの前のすべてを削除します#*pattern。パターンの複数のインスタンスがある場合は、#2%倍にするか、最初または最後のインスタンスを選択できます。

awk文字列区切り文字を指定-Fし、必要な残りのセグメントを選択できます。

❯ echo "/bin/bash/test/path/to/split" | awk -F'/to/' '{print $1" separate from "$2}'
/bin/bash/test/path separate from split

¹GNUを含む多くのcut実装では、cutシングルバイト文字に制限されています。

おすすめ記事