S.YAZICI Asked: 2018-05-21 08:16:12 +0800 CST2018-05-21 08:16:12 +0800 CST 2018-05-21 08:16:12 +0800 CST 如何从 UNIX 文件中提取数据? 772 我是初学者 我想从文件中提取文件以“START OF TEC MAP”开头并以“END OF TEC MAP”结尾的数据。我怎样才能得到这个特定的时间间隔?我应该使用哪些命令? 文件:codg0010.17i.Z files extract 1 个回答 Voted Best Answer karel 2018-05-21T08:48:37+08:002018-05-21T08:48:37+08:00 打开终端并输入: 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是文件的路径,或者如果您的当前目录与包含该文件的目录相同,则只是其名称。
打开终端并输入:
要将结果输出到输出文件,请键入:
-i
选项sed
用于就地编辑文件。要从存档中提取文件并就地编辑它,而不是将输出写入 output.txt:这将打印START OF TEC MAP和END OF TEC MAP之间的所有文本,但是该文件包含的不仅仅是一个 TEC MAP 的数据,而是按顺序排列的 25 个不同 TEC MAP 的数据,并且上述命令将所有 25 个映射的数据一起打印.
解释
该
sed
命令的部分具有以下形式:WORD1
是开始字符串 ( START OF TEC MAP )WORD2
是结束字符串(END OF TEC MAP)p
是用于打印特定行的 sed 命令,在这种情况下,包括START OF TEC MAP和END OF TEC MAP之间的所有行/path/to/file
是文件的路径,或者如果您的当前目录与包含该文件的目录相同,则只是其名称。