Извлечение определенных данных в несколько файлов в разных каталогах

Кажется, это известная ошибка со следующим обходным путем:

  1. Безопасно удалите подключенное устройство в Ubuntu.
  2. Выключите устройство. Извлеките SD-карту из устройства.
  3. Включите устройство без SD-карты.
  4. Снова выключите устройство.
  5. Вставьте SD-карту обратно и снова включите устройство.

Источник:DebugPoint.com и Форумы по продуктам Google

Вы также можете найти эту страницу полезной:http://www.mysolutions.it/mounting-android-sd-card-ubuntu/

0
17.06.2020, 17:24
1 ответ

Предполагая, что вы работаете в bash, с gnu grep и sed и с вашими 3 каталогами:

$ ls
1trg_A  2ert_B  6yus_1

Вы можете использовать функцию globstar (**)в bash

$ ls **/Pocket_*.pdb_OUTPUT.txt
1trg_A/Pocket_001_1trg_A.pdb_OUTPUT.txt  2ert_B/Pocket_001_2ert_B.pdb_OUTPUT.txt  6yus_1/Pocket_003_6yus_1.pdb_OUTPUT.txt

Итак, теперь все, что вам нужно сделать, это найти нужные строки с помощью grep

$ grep -e '^Exposed To Solvent:' **/Pocket_*.pdb_OUTPUT.txt
1trg_A/Pocket_001_1trg_A.pdb_OUTPUT.txt:Exposed To Solvent:     133.3   (28.9%)
2ert_B/Pocket_001_2ert_B.pdb_OUTPUT.txt:Exposed To Solvent:     125.4   (49.9%)
6yus_1/Pocket_003_6yus_1.pdb_OUTPUT.txt:Exposed To Solvent:     45.3   (22.4%)

Затем вы должны использовать sed для изменения извлеченных строк. Полная команда выглядит как

$ grep -e '^Exposed To Solvent:' **/Pocket_*.pdb_OUTPUT.txt | sed -e 's/^.*\(Pocket.*\.pdb\).*:/\1/;s/[()]//g' >myfile
$ cat myfile
Pocket_001_1trg_A.pdb     133.3   28.9%
Pocket_001_2ert_B.pdb     125.4   49.9%
Pocket_003_6yus_1.pdb     45.3   22.4%

note :Я предположил, что в папке 2ert _B нет файла Pocket _001 _1trg _A.pdb _OUTPUT.txt.

0
18.03.2021, 23:26

Теги

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