私はbashスクリプトを書いていますが、時々これが起こります。
$path="things useless things... path/another/files1/useful/path/here"
そのため、「files1」の前のすべての単語とテキストを削除し、files1の後ろの部分(含む)を取得しようとします。
この例では、次のようになります。files1/useful/path/here
それ以降の部品は入手できますが、ファイル1は含まれません。
どうやってこれを達成できますか?
ベストアンサー1
(ファイルスクリプトの場合)どうですか?
sed -n 's#\(path="\).*/\(files1/[^"]*"\)#\1\2#p' script
または値が変数の内部にある場合:
$ path="things useless things... path/another/files1/useful/path/here"
$ echo "/files1/${path##*/files1/}"
/files1/useful/path/here