Используйте e2image -ar
для копирования соответствующих частей файловой системы. Он понимает файловую систему и копирует все необходимые метаданные и блоки данных, используемые файлами, пропуская при этом неиспользуемое пространство.
Дляawk
:
awk -F '[><]' '{print $2}' file
Это устанавливает разделитель полей как >
или <
и печатает второе поле, которое находится между этими двумя символами.
Дляsed
:
sed 's|.*>\(.*\)<.*|\1|' file
Это использует ()для печати того, что находится между >
и всем, что следует за ним, и <
и всем, что идет до него.
Выход
Wallmart
tastes
А как насчет grep
?
grep -oP "(?<=\>).*(?=<)" file
Выход:
Wallmart
tastes
РЕДАКТИРОВАТЬ:
Следуя комментарию @Toby Speight и предполагая, что между > и < есть только слова, чтобы избежать совпадения > и < в других контекстах, команда должна быть
grep -oP "(?<=\>)\w+(?=<)" file
Я пробовал с помощью приведенной ниже команды, и она работала нормально
awk -F ">" '{print $2}' filename| sed "s/<.*//g"
выход
Wallmart
tastes
питон
#!/usr/bin/python
o=open('filename','r')
for i in o:
k=i.split('>')[1].split('<')[0].strip()
print k
выход
Wallmart
tastes