からエピソード番号を抽出する方法は、あなたがbashで、この文字列変数があるとします。bashの:文字列
filename="House Of Lies 5x02 HDTV XviD [DivxTotaL]"
私は5x02
一部を取得するために何ができますか?私は運ではgrepで試してみた
:
echo "$filename" > grep -c '[0-9]x[0-9]{2}'
からエピソード番号を抽出する方法は、あなたがbashで、この文字列変数があるとします。bashの:文字列
filename="House Of Lies 5x02 HDTV XviD [DivxTotaL]"
私は5x02
一部を取得するために何ができますか?私は運ではgrepで試してみた
:
echo "$filename" > grep -c '[0-9]x[0-9]{2}'
あなたはgrepをして渡しているオプション-c
は、選択した行の行数だけが標準出力に書き込まれ
-c
間違っています。
$ echo $filename | grep -oE '[0-9]{1,2}x[0-9]{1,3}'
5x02
-o
行の一致する部分だけを印刷します。
-E
拡張正規表現
echo "$filename" | egrep -o '[0-9]x[0-9]{2}'
>file
は、出力をファイルにリダイレクトします。 |cmd
はそれを別のコマンドにパイプします。 -c
はマッチの数をカウントしますが、これはここでは役に立ちません。 -o
は一致する文字列を出力します。 {2}
を使用できるようにするには、拡張正規表現を有効にする必要があります(egrep
)。
あなたはsedまたはawkを使いたいでしょう。 –