0

場所は異なりますが、すべてパターンがあります。

some_text/some_text/some_text/log/some_text.text

すべての場所が同じものから始まるわけではなく、サブディレクトリの数も同じではありませんが、その後に続くものlog/だけに興味があります。を抽出したいと思います.text

編集された質問:

私はたくさんの場所を持っています:

/s/h/r/t/log/b.p
/t/j/u/f/e/log/k.h
/f/j/a/w/g/h/log/m.l

それらが何であるかわからないことを示すために、ユーザーはこれらの場所を入力するため、ユーザーが何を入力したかはわかりません。私が知っているのは、常にlog/ファイルの名前が続くということだけです。

ドットの後に来る文字列が何であれ、ファイルのタイプを抽出したい

4

5 に答える 5

1

bash 組み込みの文字列操作を使用できます。以下の例では、入力文字列から最後のドットの後のすべてを抽出します。

$ var="some_text/some_text/some_text/log/some_text.text"
$ echo "${var##*.}"
text

または、次を使用しますsed

$ sed 's/.*\.//' <<< "$var"
text
于 2013-10-29T16:08:17.287 に答える
0

使用するawk

awk -F'.' '{print $NF}' file

使用するsed

sed 's/.*\.//' file
于 2013-10-29T16:15:16.000 に答える