Как я могу извлечь данные из файла UNIX?

Я новичок

Я хотел бы извлечь данные, которые файл начинается с «START OF TEC MAP» и заканчивается «END OF TEC MAP» из файла. Как я могу получить этот определенный интервал? Какие команды мне следует использовать?

Файл: codg0010.17i.Z

1
задан 20 May 2018 в 19:16

2 ответа

Откройте терминал и введите:

uncompress -c codg0010.17i.Z | sed -n '/START OF TEC MAP/,/END OF TEC MAP/p'

Чтобы вывести результаты в выходной файл, введите:

uncompress -c codg0010.17i.Z | sed -n '/START OF TEC MAP/,/END OF TEC MAP/p' >> output.txt

Опция -i в sed используется для редактирования файлов на месте. Чтобы извлечь файл из архива и отредактировать его на месте вместо записи вывода на output.txt:

uncompress codg0010.17i.Z # This archive has only 1 file in it named codg0010.17i. sed -ni '/START OF TEC MAP/,/END OF TEC MAP/p' codg0010.17i

Это печатает весь текст между START OF TEC MAP и END OF TEC MAP, однако это файл содержит не данные только одного TEC MAP, а данные из 25 различных TEC MAP, расположенных последовательно, и вышеприведенная команда печатает данные всех 25 карт вместе.

Объяснение

sed часть команды имеет следующий вид:

sed -n '/WORD1/,/WORD2/p' /path/to/file WORD1 - начальная строка (START OF TEC MAP) WORD2 - конечная строка (END OF TEC MAP) p это команда sed для печати определенных строк, в этом случае все строки, включая и между START OF TEC MAP и END OF TEC MAP /path/to/file, являются либо путем к файлу, либо просто его именем, если ваш текущий каталог совпадает с каталог, содержащий файл.
5
ответ дан 17 July 2018 в 13:51

Откройте терминал и введите:

uncompress -c codg0010.17i.Z | sed -n '/START OF TEC MAP/,/END OF TEC MAP/p'

Чтобы вывести результаты в выходной файл, введите:

uncompress -c codg0010.17i.Z | sed -n '/START OF TEC MAP/,/END OF TEC MAP/p' >> output.txt

Опция -i в sed используется для редактирования файлов на месте. Чтобы извлечь файл из архива и отредактировать его на месте вместо записи вывода на output.txt:

uncompress codg0010.17i.Z # This archive has only 1 file in it named codg0010.17i. sed -ni '/START OF TEC MAP/,/END OF TEC MAP/p' codg0010.17i

Это печатает весь текст между START OF TEC MAP и END OF TEC MAP, однако это файл содержит не данные только одного TEC MAP, а данные из 25 различных TEC MAP, расположенных последовательно, и вышеприведенная команда печатает данные всех 25 карт вместе.

Объяснение

sed часть команды имеет следующий вид:

sed -n '/WORD1/,/WORD2/p' /path/to/file WORD1 - начальная строка (START OF TEC MAP) WORD2 - конечная строка (END OF TEC MAP) p это команда sed для печати определенных строк, в этом случае все строки, включая и между START OF TEC MAP и END OF TEC MAP /path/to/file, являются либо путем к файлу, либо просто его именем, если ваш текущий каталог совпадает с каталог, содержащий файл.
5
ответ дан 20 July 2018 в 13:55

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

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