5

これは尋ねられたと確信していますが、見つからないため、重複して申し訳ありません。

grep または egrep を使用して、「 P 」または「 CA 」が含まれるすべての行を見つけて、それらを新しいファイルにパイプしたいと考えています。次を使用して、どちらか一方を使用して簡単に実行できます。

egrep ' CA ' all.pdb > CA.pdb

また

egrep ' P ' all.pdb > P.pdb

正規表現は初めてなので、の構文がわかりませんor

更新: 出力行の順序は重要です。つまり、出力が一致した文字列で行をソートしたくありません。以下は、1 つのファイルの最初の 8 行の例です。

ATOM      1 N    THR U  27     -68.535  88.128 -17.857  1.00  0.00      1H5  N  
ATOM      2 HT1  THR U  27     -69.437  88.216 -17.434  0.00  0.00      1H5  H  
ATOM      3 HT2  THR U  27     -68.270  87.165 -17.902  0.00  0.00      1H5  H  
ATOM      4 HT3  THR U  27     -68.551  88.520 -18.777  0.00  0.00      1H5  H  
ATOM      5 CA   LYS B 122    -116.643  85.931-103.890  1.00  0.00      2H2B C  
ATOM      6 P    THY J   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 P  
ATOM      8 HB   THR U  27     -68.543  88.566 -15.171  0.00  0.00      1H5  H  
ATOM      9 CA   LYS B 122    -116.643  85.931-103.890  1.00  0.00      2H2B C  
ATOM     10 P    THY J   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 P  
ATOM     11 HB   THR U  27     -68.543  88.566 -15.171  0.00  0.00      1H5  H  
ATOM     12 C    SER D   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 C  
ATOM     13 OP1  SER D   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 O  

この例の結果ファイルは次のようになります。

ATOM      5 CA   LYS B 122    -116.643  85.931-103.890  1.00  0.00      2H2B C  
ATOM      6 P    THY J   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 P  
ATOM      9 CA   LYS B 122    -116.643  85.931-103.890  1.00  0.00      2H2B C  
ATOM     10 P    THY J   2     -73.656  70.884  -7.805  1.00  0.00      DNA2 P  
4

2 に答える 2

0

次のコマンドは、ディレクトリに存在するすべてのファイルを検索し、ログを次/path_to_your_dir/の場所に出力します。/tmp/grep.log

grep 'P|CA' -Er /path_to_your_dir/ > /tmp/grep.log

大文字と小文字を区別しない必要がある場合は、に置き換え-Er-Eriください。
ファイル/tmp/grep.logには、ファイルへのパスと一致した文字列が表示されます。
特定の拡張子を持つファイルを検索する必要がある場合は、次のように記述します。

grep 'P|CA' -Er --include=*.php /path_to_your_dir/ > /tmp/grep.log

それがあなたを助けることを願っています。

于 2015-05-29T13:19:14.177 に答える