パスを分割しようとしましたが、正しいコマンドを受信できませんでした。
つまり、/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
シングルバイト文字に制限されています。