Как скопировать несколько строк из файла и вставить в другой файл в ubuntu linux - PullRequest
0 голосов
/ 07 мая 2020

Я хочу скопировать несколько строк из текстового файла и вставить их в другой файл (файл a -> файл b). Я использую ubuntu.

, если файл a выглядит следующим образом:

&IONS
  upscale           = 100.D0,
/

&CELL
!  cell_dynamics     = 'bfgs'
  press_conv_thr    = 0.01d0
/

ATOMIC_SPECIES
HZ               134.857   hz_s.upf_0.50
Si               28.0855   si_srl_gga.upf
S               32.0650   s_srl_gga.upf

K_POINTS (automatic)
    8    8    8    0    0    0


CELL_PARAMETERS (alat=  1.88972599)
   3.499845546   0.000000000   0.000000000
   0.000000000   3.499845546   0.000000000
   0.000000000   0.000000000   7.992795057

ATOMIC_POSITIONS (crystal)
HZ       0.750000000   0.750000000   0.729718998
HZ       0.250000000   0.250000000   0.270281002
Si       0.750000000   0.250000000   0.000000000
Si       0.250000000   0.750000000   0.000000000
S        0.250000000   0.250000000   0.620340894
S        0.750000000   0.750000000   0.379659106

Я хочу извлечь (скопировать) строки из CELL_PARAMETERS (alat= 1.88972599) в последнюю строку S 0.750000000 0.750000000 0.379659106

и вставьте его в последнюю часть файла b

Как я могу сделать это автоматически? (Без использования yank и paste)

Ответы [ 2 ]

1 голос
/ 07 мая 2020

Что-то вроде

sed -n '/CELL_PARAMETERS/,$p' filea >> fileb

должно помочь.

0 голосов
/ 07 мая 2020

Этот небольшой пример должен решить вашу проблему:

$  head a b
==> a <==
abcd
xyz1
foo
1
2
3

==> b <==
####
!!!!

kent$  sed -n '/^foo/,$p' a >> b

kent$  cat b
####
!!!!
foo
1
2
3
...