私のディレクトリに3つのファイルがあります
MYO144064T
MYO144064TA
MYO144064TX
数字と11番目の文字が変更されます。私のcshスクリプトからgrepを使って文字「A」と「X」を抽出したいと思います。
$ study変数はMYO144064と同じです。
これまで私が管理していたことは非常に面倒です。
ls | grep $study | cut -c 11 | sed 's/\///'
これは私に与える
A
X
最小限のフローで追加の空行なしでこれを行うにはどうすればよいですか?
ベストアンサー1
ls | grep -oP "(?<=$study.)[A-Z]$"
$study
T
任意の文字(あなたの例では)の後に行末が続く大文字を返します。
この-P
オプション(Perl正規表現)は、前後の照会式を使用するために必要です(?<=...)
が、一部のシステムおよびプラットフォームでは使用できない場合があります。