私はgrepに最初に触れて、次のことをする方法を知りたいです。この形式の約1000行を含むファイルがあります。
assign ( resid 105 and name CB ) ( resid 105 and name CA ) 4.1 0.8 0.8
assign ( resid 44 and name CB ) ( resid 44 and name CA ) 4.4 0.9 0.9
最後の数字を次のように変更したいと思います。
4.6 2.6 2.6 !
私ができる方法はありますか?各行の数字は異なります。すべての数字を一貫して作成し、各行の末尾に「!」を追加しようとしています。
よろしくお願いします!
ベストアンサー1
grep
一致を印刷し、ファイルのデータを印刷するために使用されます。データを交換するには、次のものが必要ですsed
。
sed 's|[0-9]\..*$|4.6 2.6 2.6 !|g' file
4.6 2.6 2.6 !
これにより、数字が何であるかに関係なく、各行の末尾にあるすべての数字が置き換えられます。
ファイルをその場で編集するには:
sed -i 's|[0-9]\..*$|4.6 2.6 2.6 !|g' file
出力:
assign ( resid 105 and name CB ) ( resid 105 and name CA ) 4.6 2.6 2.6 !
assign ( resid 44 and name CB ) ( resid 44 and name CA ) 4.6 2.6 2.6 !