Как прочитать содержимое файла образа жесткого диска, который кажется частью RAID

Если вы ленивы, как я, вы не хотите иметь дело с массивами и циклами и оставить это на ваше усмотрение. Вот почему я предпочитаю sedи просто добавляю те Ref.txtстроки (, которые обозначены запятой )в пробеле с H. На самом деле я добавляю еще одну запятую, чтобы знать, что шаблоны всегда находятся между двумя запятыми. Итак, вместе это /,/{s/$/,/;H;d;}.

Теперь, для каждой строки Seq.txt, я добавляю пробел к своей эталонной стопке с помощью Gи позволяю команде sзаменить шаблон на шаблон, найденный в стопке. Как часто регулярное выражение легче написать, чем прочитать.

Давайте теперь посмотрим на пространство шаблонов:

ABCDEFG\n\nABCDEFG,15147,ABC,ABCD,ABCDE\nHIJKLMN,500,HIJKLM,HIJKL,HIJK
\_____/    \_____/       \_/
replace    by this  if  match
  • Заменяемая деталь находится в начале(^)с соответствующей деталью([A-Z]+)и некоторыми деталями до и после([A-Z]*)
  • Замена представляет собой последовательность между новой строкой и запятой:\n[A-Z]*,
  • совпадение — это шаблон между двумя запятыми, обратная ссылка из первой части:,\1,

Все вместе это дает

sed -E '/,/{s/$/,/;H;d;};G;s/^[A-Z]*([A-Z]{1,})[A-Z]*\n.*\n([A-Z]*),[A-Z0-9,]*,\1,.*/\2/;P;d' Ref.txt Seq.txt
1
15.10.2021, 10:53
0 ответов

Теги

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