извлекать специальные значения в выходных файлах в один файл

У меня есть несколько выходных файлов в виде файла - здесь, в котором перед выражением («масса») есть число (значение), которое здесь равно 55.25.

Файлы находятся в разных папках, но я хочу собрать все значения масс в одном файле .dat как столбец различных масс.

Как я могу сделать эту цель с помощью командной строки!?

0
задан 23 January 2018 в 21:50

2 ответа

Если вы знаете, что все файлы находятся где-то ниже вашего домашнего каталога, вы можете сделать:

grep -R '^mass is' $HOME | sed 's/.*mass is //' >> $HOME/results.dat

Если файлы находятся где-то в другом дереве папок, замените первую часть на

grep -R '^mass is' some_folder | sed ....
1
ответ дан 17 July 2018 в 22:23

Если вы знаете, что все файлы находятся где-то ниже вашего домашнего каталога, вы можете сделать:

grep -R '^mass is' $HOME | sed 's/.*mass is //' >> $HOME/results.dat

Если файлы находятся где-то в другом дереве папок, замените первую часть на

grep -R '^mass is' some_folder | sed ....
1
ответ дан 23 July 2018 в 23:01
  • 1
    Если возможно, создайте одну папку, содержащую вышеуказанный файл или что-то еще, и, пожалуйста, работайте с адресом этого файла. Поскольку я смущен приведенной выше командной строкой, я не мог этого использовать. (Я не мог понять, что мне делать вместо $ Home !!) – Inzo Babaria 24 January 2018 в 08:47
  • 2
    $HOME (так написано) - это переменная оболочки, содержащая имя вашей домашней папки. Это /home/<your_username>, где your_username - это имя, которое вы выбрали при установке Ubuntu. Просто откройте терминал с помощью Ctrl-Alt-T и введите приведенную выше команду. Если ваш файл находится в другом месте, дайте мне несколько примеров того, где они находятся. – muclux 24 January 2018 в 10:58
  • 3
    Большое вам спасибо, я далеко от машины, с которой я работал, если я столкнусь с проблемой, я попрошу вас. Еще раз спасибо – Inzo Babaria 24 January 2018 в 14:04

Другие вопросы по тегам:

Похожие вопросы: