参考:I/O - HDF Routines —— HDF 操作函数


01   HDF_SD_START 打开一个 SDS 模式的 HDF 文件。
02   HDF_SD_END 关闭一个 SDS 模式的 HDF 文件。
03   HDF_SD_NAMETOINDEX 返回变量索引。
04   HDF_SD_SELECT 返回变量标识符。
05   HDF_SD_GETDATA 读取变量数据。
06   HDF_SD_ENDACCESS 结束到一个变量的通道。
07   HDF_SD_ATTRFIND 返回属性索引。
08   HDF_SD_ATTRINFO 读取属性数据。
09   HDF_SD_FILEINFO 返回文件信息。
10   HDF_SD_GETINFO 返回变量信息。
11   HDF_SD_CREATE 创建一个变量。
12   HDF_SD_ADDDATA 写入变量数据。
13   HDF_SD_DIMGETID 创建一个维度。
14   HDF_SD_DIMSET 设置维度信息。
15   HDF_SD_DIMGET 返回一个 SD 数据集维度的信息。
16   HDF_SD_ATTRSET 写入属性数据。
17   HDF_SD_SETINFO 设置变量信息。

  HDF(Hierarchical Data Formats)数据格式由 NCSA 开发。HDF 提供了大量的数据模式,包括多维数组、表格、图像、注解和调色板。在下面的章节中,将描述 HDF 科学数据系列(SDS)的数据模式,因为它是 HDF 中最具灵活性的,并且它和 NetCDF 具有相似性。也就是说,HDF SDS 的基本组成也是变量、属性和维数。

注意:IDL读取数据与在其他软件上显示的数据位置相反,左上对右下!

注意:HDF记录数据与实际数据是通过一个数量关系获取的,如下图所示:

    
   实际结果 = 显示结果 × slope + intercept   
 


序号 名称  

功能说明

  语法 & 举例
01 HDF_SD_START  

打开或新建一个 SDS 模式的 HDF 文件,并初始化这个SD接口。
返回值是这个 HDF 文件的 SD ID。如果没有设置关键字,则以只读形式打开。
以 HDF_SD_START 打开的文件,最终需要用 HDF_SD_END 进行关闭。
◈ SDS:Scientific Datasets,科学数据集系列
◈ SD ID:科学数据集的 ID 值
----------------------------------------------------------------------------------
Result = HDF_SD_START( Filename [, /READ | , /RDWR] [, /CREATE] )
----------------------------------------------------------------------------------
◈ Filename:欲打开或创建的文件路径
◈ READ:只读模式,默认模式
◈ RDWR:读写模式
◈ CREATE:创建一个新的 SD 文件

 
;打开一个新的 HDF 文件
SDinterface_id = HDF_SD_START('test.hdf', /CREATE)
;当结束文件的时候需要调用 HDF_SD_END
HDF_SD_END, SDinterface_id
-------------------------------------------------------------------------------------
IDL> file = 'D:\McDelfino\dell-dev\IDL\A.L2_LAC'
IDL> hdfid = HDF_SD_START(file, /RDWR)
IDL> hdfid
393216
 02 HDF_SD_END

关闭一个 SDS 模式的 HDF 文件。
与 HDF_SD_START 对应使用。
----------------------------------------------------------------------------------
HDF_SD_END, SDinterface_id
----------------------------------------------------------------------------------
◈ SDinterface_id:由 HDF_SD_START 返回的 SD ID 值(hdfid)

 
SDinterface_id = HDF_SD_START('test.hdf', /CREATE)
;使用多种命令读取 HDF 文件中的 SD 数据,当完成数据集操作,要调用 HDF_SD_ENDACCESS 来结束数据集操作
HDF_SD_ENDACCESS, SDdataset_id_1
;当完成文件的操作,要调用 HDF_SD_END 来结束文件操作
HDF_SD_END, SDinterface_id
-------------------------------------------------------------------------------------
IDL> file = 'D:\McDelfino\dell-dev\IDL\A.L2_LAC'
IDL> hdfid = HDF_SD_START(file, /RDWR)
IDL> ;处理过程
IDL> HDF_SD_END, hdfid
 03 HDF_SD_NAMETOINDEX  

返回变量索引。(通过名称获取相应的索引值)
返回的索引值利用 HDF_SD_SELECT 来进行变量(SD 数据集)的操作。
----------------------------------------------------------------------------------
Result = HDF_SD_NAMETOINDEX(SDinterface_id, SDS_Name)
----------------------------------------------------------------------------------
◈ SDinterface_id:由 HDF_SD_START 返回的 SD ID 值(hdfid)
◈ SDS_Name:指定 SD 数据集中某个字符串名称

  
SDinterface_id = HDF_SD_START('demo.hdf')
;返回 variable_2 数据集的索引值
index = HDF_SD_NAMETOINDEX(SDinterface_id, 'variable_2')
;访问数据集
SDdataset_id=HDF_SD_SELECT(SDinterface_id,index)
;结束访问
HDF_SD_ENDACCESS, SDdataset_id
HDF_SD_END, SDinterface_id
-------------------------------------------------------------------------------------
IDL> file = 'D:\McDelfino\dell-dev\IDL\A.L2_LAC'
IDL> hdfid = HDF_SD_START(file, /RDWR)
IDL> ;读取数据中的lat数据
IDL> ;通过latitude来获取相应的索引值
IDL> index = HDF_SD_NAMETOINDEX(hdfid, 'latitude')
IDL> ;通过索引值获取ID值
IDL> varid = HDF_SD_SELECT(hdfid, index)
IDL> ;通过ID值获取数组值
IDL> HDF_SD_GETDATA, varid, latdata
IDL> HELP, latdata
LATDATA DOUBLE = Array[1354, 2040]
 04 HDF_SD_SELECT  

根据变量索引值返回变量的标识符 VAR ID。
----------------------------------------------------------------------------------
Result = HDF_SD_SELECT(SDinterface_id, Number)
----------------------------------------------------------------------------------
◈ SDinterface_id:由 HDF_SD_START 返回的 SD ID 值(hdfid)
◈ Number:变量的索引值。

 05 HDF_SD_GETDATA  

读取变量数据。
根据变量标识符(数据集ID)来读取,数据存储在 Data 变量中
----------------------------------------------------------------------------------
HDF_SD_GETDATA, SDdataset_id, Data [, COUNT=vector] [, /NOREVERSE] [, START=vector] [, STRIDE=vector]
----------------------------------------------------------------------------------
◈ SDdataset_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)
◈ COUNT=vector:每维中读取元素的数目,默认是从 start 位置到每维的最后一个元素
◈ START=vector:每维中读取的第一个元素,默认从零开始[0, 0, ..., 0]
◈ STRIDE=vector:维中提取的间隔,默认为 [0, 0, ..., 0],意味着每个元素都被选中
◈ NOREVERSE:默认从 HDF 数据读到 IDL 中,要将列转换成行,设置此关键字将不转置
----------------------------------------------------------------------------------
注意:如果 START、COUNT 或 STRIDE 导致变量超出了范围,则 IDL 在读取时将舍去超出的部分,并给出错误信息。

 
IDL> ;在下面的例子中,从 0 列、100 行开始读取 100×1 的变量子集,读取时在列的维度上元素一个隔一个地读取(左右)
IDL> hdfid = HDF_SD_START('EarthProbe5_31_99.hdf')
IDL> index = HDF_SD_NAMETOINDEX(hdfid, 'TOTAL_OZONE')
IDL> varid = HDF_SD_SELECT(hdfid, index)
IDL> HDF_SD_GETDATA, varid, data, START=[0, 100], COUNT=[100, 1], STRIDE=[2, 1]
IDL> HELP, data
DATA INT = Array[100]
IDL> data[0:3]
257 0 0 258
IDL> HDF_SD_ENDACCESS, varid
IDL> HDF_SD_END, hdfid
IDL> TVSCL, data
 06 HDF_SD_ENDACCESS  

结束一个变量的通道。
----------------------------------------------------------------------------------
HDF_SD_ENDACCESS, SDinterface_id
----------------------------------------------------------------------------------
◈ SDinterface_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)

 
IDL> ;访问变量数据后,需要结束
IDL> hdfid = HDF_SD_START('EarthProbe5_31_99.hdf')
IDL> index = HDF_SD_NAMETOINDEX(hdfid, 'OZONE')
IDL> varid = HDF_SD_SELECT(hdfid, index)
IDL> ;处理过程
IDL> HDF_SD_ENDACCESS, varid
IDL> HDF_SD_END, hdfid
 07 HDF_SD_ATTRFIND  

返回属性索引。
如果没有定位到属性,则返回值为 -1
◈ 使用 hdfid 读取全局属性
◈ 如果是属于某一变量的属性,则需要通过 varid 来读取
----------------------------------------------------------------------------------
Result = HDF_SD_ATTRFIND(SD_id, Name)
----------------------------------------------------------------------------------
◈ SD_id:由 HDF_SD_START、HDF_SD_SELECT、HDF_SD_CREATE 得到的 SD ID 值,可以是 hdfid 或者 varid
◈ Name:属性的名称。

  
SDinterface_id = HDF_SD_START('demo.hdf')
;找到 "TITLE",一个全局属性
gindex = HDF_SD_ATTRFIND(SDinterface_id, 'TITLE')
;读取属性信息
HDF_SD_ATTRINFO, SDinterface_id, gindex, NAME=name, TYPE=type, COUNT=count
;打印变量的信息
HELP, type, count, name
;获取第一个数据集的 ID
SDdataset_id = HDF_SD_SELECT(SDinterface_id, 1)
;找到数据集中的 "LOCATION" 属性
dindex = HDF_SD_ATTRFIND(SDdataset_id, 'LOCATION')
;读取属性信息
HDF_SD_ATTRINFO, SDdataset_id, dindex, NAME=name, TYPE=type, COUNT=count
-------------------------------------------------------------------------------------
IDL> ;读取属性数据
IDL> hdfid = HDF_SD_START('Manassas.hdf')
IDL> index = HDF_SD_NAMETOINDEX(hdfid, 'CEL0: ELEVATION')
IDL> varid = HDF_SD_SELECT(hdfid, index)
IDL> attindex = HDF_SD_ATTRFIND(varid, 'valid_range')
IDL> HDF_SD_ATTRINFO, varid, attindex, data=attvalue
IDL> attvalue
17134 17394
IDL> HDF_SD_ATTRINFO, varid, attindex, COUNT=count , DATA=data, HDF_TYPE=HDF_type , NAME=name , TYPE=type
IDL> count
2
IDL> data
17134 17394
IDL> hdf_type
DFNT_INT16
IDL> name
valid_range
IDL> type
INT
 08 HDF_SD_ATTRINFO  

读取属性数据。
使用 hdfid 读取全局属性
如果是属于某一变量的属性,则需要通过 varid 来读取
----------------------------------------------------------------------------------
HDF_SD_ATTRINFO, SD_id, Attr_Index [, COUNT=variable] [, DATA=variable] [, HDF_TYPE=variable] [, NAME=variable] [, TYPE=variable]
----------------------------------------------------------------------------------
◈ SD_id:由 HDF_SD_START、HDF_SD_SELECT、HDF_SD_CREATE 得到的 SD ID 值,可以是 hdfid 或者 varid
◈ Attr_Index:属性的索引值,可通过 HDF_SD_ATTRFIND 函数获取
◈ COUNT=variable:返回属性所包含的值的数量
◈ DATA=variable:返回属性数据
◈ HDF_TYPE=variable:返回属性的 HDF type
◈ NAME=variable:返回属性的名称
◈ TYPE=variable:返回数据的类型

09 HDF_SD_FILEINFO  

返回文件信息。
包括变量的总数和全局属性的总数
----------------------------------------------------------------------------------
HDF_SD_FILEINFO, SDinterface_id, Datasets, Attributes
----------------------------------------------------------------------------------
◈ SDinterface_id:由 HDF_SD_START 返回的 SD ID 值(hdfid)
◈ Datasets:变量的总数
◈ Attributes:全局属性的总数

  
IDL> ;获取变量信息
IDL> hdfid = HDF_SD_START('Manassas.hdf')
IDL> HDF_SD_FILEINFO, hdfid, nvars, ngatts
IDL> nvars
1
IDL> ngatts
6
IDL> hdfid = HDF_SD_START('EarthProbe5_31_99.hdf')
IDL> HDF_SD_FILEINFO, hdfid, nvars, ngatts
IDL> nvars
4
IDL> ngatts
0
IDL> varid = HDF_SD_SELECT(hdfid, 0)
IDL> HDF_SD_GETINFO, varid, NAME=name, NDIMS=ndims, TYPE=type, DIMS=dims
IDL> name
TOTAL_OZONE
IDL> ndims
2
IDL> type
INT
IDL> dims
288 180
IDL> HDF_SD_GETINFO, varid, NAME=name, NDIMS=ndims, TYPE=type, DIMS=dims, UNIT=unit, FORMAT=format
IDL> unit
MATM_CM
IDL> format
I3
 10 HDF_SD_GETINFO  

返回变量信息。
----------------------------------------------------------------------------------
HDF_SD_GETINFO, SDdataset_id [, CALDATA=variable] [, COORDSYS=variable] [, DIMS=variable] [, FILL=variable] [, FORMAT=variable] [, HDF_TYPE=variable] [, LABEL=variable] [, NAME=variable] [, NATTS=variable] [, NDIMS=variable] [, /NOREVERSE] [, RANGE=variable] [, TYPE=variable] [, UNIT=variable]
----------------------------------------------------------------------------------
◈ SDdataset_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)
◈ NATTS=variable:变量中包含的属性数目
◈ NDIMS=variable:维度的数目
◈ NAME=variable:变量的名称
◈ DIMS=variable:具体的维度信息
◈ TYPE=variable:数据类型

11 HDF_SD_CREATE  

创建一个变量。
----------------------------------------------------------------------------------
Result = HDF_SD_CREATE( SDinterface_id, Name, Dims [, /BYTE] [, /DFNT_CHAR8] [, /DFNT_FLOAT32] [, /DFNT_FLOAT64] [, /DFNT_INT8] [, /DFNT_INT16] [, /DFNT_INT32] [, /DFNT_UINT8] [, /DFNT_UINT16] [, /DFNT_UINT32] [, /DOUBLE] [, /FLOAT] [, HDF_TYPE=type] [, /INT] [, /LONG] [, /SHORT] [, /STRING] )
----------------------------------------------------------------------------------
◈ SDinterface_id:由 HDF_SD_START 返回的 SD ID 值
◈ Name:变量名称
◈ Dims:数据维度,数组
◈ INT:数据为整型
◈ FLOAT:数据为浮点型
----------------------------------------------------------------------------------
参考:idl下Hdf5格式文件的读取并转换为hdf
参考:Adding a product to l1a - l2 processing sequence

 
;新建HDF文件,并添加变量值
;新建HDF的文件路径
file='D:\IDL\sst13.hdf'
;以create的形式打开文件
hdfid=HDF_SD_START(file, /create)
;新建latitude变量,在HDF上显示1354列,2040行,默认是浮点型数组
sds_id=HDF_SD_CREATE(hdfid, 'latitude', [1354, 2040], /float)
;由于从HDF中读取的数据与实际数据存在一个中心对称的关系,因此通过两个reverse实现
;latdata就是从其他HDF中读取的数组,将数组的结果添加到变量latitude中去
HDF_SD_ADDDATA, sds_id, REVERSE(REVERSE(latdata), 2)
HDF_SD_ENDACCESS, sds_id
HDF_SD_END, hdfid
-------------------------------------------------------------------------------------
start = [40, 20]
count = [70, 100]
stride = [2, 3]
image = DIST(230, 380)
;以 SD 模式创建一个新的 HDF 文件
SDinterface_id = HDF_SD_START('image.hdf', /CREATE)
;定义一个新的 SD 数据集
SDdataset_id = HDF_SD_CREATE(SDinterface_id, 'image', [230, 380], /BYTE)
;把 image 数据写入到数据集中
HDF_SD_ADDDATA, SDdataset_id, image
;获取整个 image 数据
HDF_SD_GETDATA, SDdataset_id, full
;获取部分 image 数据
HDF_SD_GETDATA, SDdataset_id, small, COUNT=count, START=start, STRIDE=stride
HDF_SD_ENDACCESS, SDdataset_id
HDF_SD_END, SDinterface_id
12 HDF_SD_ADDDATA  

写入变量数据。(修改变量的值)
----------------------------------------------------------------------------------
HDF_SD_ADDDATA, SDdataset_id, Data [, COUNT=vector] [, /NOREVERSE] [, START=vector] [, STRIDE=vector]
----------------------------------------------------------------------------------
◈ SDinterface_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)
◈ COUNT=vector:每维中读取元素的数目,默认是从 start 位置到每维的最后一个元素
◈ START=vector:每维中写入的第一个元素,默认从零开始[0, 0, ..., 0]
◈ STRIDE=vector:维中写入的间隔,默认为 [0, 0, ..., 0],意味着每个元素都被选
◈ NOREVERSE:默认从 IDL 数据写到 HDF 中,要将列转换成行,设置此关键字将不转置

13 HDF_SD_DIMGETID  

创建一个维度。
返回值为维度标识符。
----------------------------------------------------------------------------------
Result = HDF_SD_DIMGETID(SDdataset_id, Dimension_Number)
----------------------------------------------------------------------------------
◈ SDdataset_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)
◈ Dimension_Number:哪一维度

  
SDinterface_id = HDF_SD_START('myhdf.hdf', /RDWR)
;创建一个三维数组的变量
SDdataset_id = HDF_SD_CREATE(SDinterface_id, 'var1', [10,20,0], /LONG)
;选择第一个维度
dim_id=HDF_SD_DIMGETID(SDdataset_id,0)
; Set the data strings and scale for the first dimension:
HDF_SD_DIMSET, dim_id, NAME='d1', LABEL='l1', FORMAT='f1', UNIT='u1', SCALE=FINDGEN(10)
HDF_SD_ENDACCESS, SDdataset_id
HDF_SD_END, SDinterface_id
; Reopen the file:
SDinterface_id = HDF_SD_START('myhdf.hdf')
; Select the first dimension:
dim_id = HDF_SD_DIMGETID(SDdataset_id,0)
; Retrieve the information:
HDF_SD_DIMGET, dim_id, NAME=d1, LABEL=l1, FORMAT=f1, UNIT=u1, SCALE=sc, COUNT=cnt, NATTR=natt, TYPE=type
; Print information about the returned variables:
HELP, d1, l1, f1, u1, sc, cnt, natt, type
; Close the SD interface:
HDF_SD_ENDACCESS,SDdataset_id
HDF_SD_END, SDinterface_id
14 HDF_SD_DIMSET  

设置维度信息。
----------------------------------------------------------------------------------
HDF_SD_DIMSET, Dim_ID [, /BW_INCOMP] [, FORMAT=string] [, LABEL=string] [, NAME=string] [, SCALE=vector] [, UNIT=string]
----------------------------------------------------------------------------------
◈ SDdataset_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)

 15 HDF_SD_DIMGET  

返回一个 SD 数据集维度的信息。
----------------------------------------------------------------------------------
HDF_SD_DIMGET,
Dim_ID [, /COUNT] [, COMPATIBILITY=variable] [, /FORMAT] [, /LABEL] [,
/NAME] [, /NATTR] [, /SCALE] [, /TYPE] [, /UNIT]
----------------------------------------------------------------------------------
◈ Dim_ID:一个由 HDF_SD _DIMGETID 返回的维度 ID 值
◈ COUNT:返回维度的大小

16 HDF_SD_ATTRSET  

写入属性数据。(将某个变量的某个属性值进行修改)
----------------------------------------------------------------------------------
HDF_SD_ATTRSET, SD_id, Attr_Name, Values [, Count] [, /BYTE] [, /DFNT_CHAR] [, /DFNT_FLOAT32] [, /DFNT_FLOAT64] [, /DFNT_INT8] [, /DFNT_INT16] [, /DFNT_INT32] [, /DFNT_UINT8] [, /DFNT_UINT16] [, /DFNT_UINT32] [, /DOUBLE] [, /FLOAT] [, /INT] [, /LONG] [, /SHORT] [, /STRING]
----------------------------------------------------------------------------------
◈ SD_id:由 HDF_SD_START、HDF_SD_SELECT、HDF_SD_CREATE 得到的 SD ID 值,可以是 hdfid 或者 varid
◈ Attr_Name:欲写入的属性名称
◈ Values:欲写入的属性值

 
SDinterface_id = HDF_SD_START('demo.hdf', /RDWR)
;创建一个全局属性
HDF_SD_ATTRSET, SDinterface_id, 'TITLE', 'MY TITLE GLOBAL', 16
;创建另一个全局属性
HDF_SD_ATTRSET, SDinterface_id, 'RANGE', [-99.88,55544.2], /DOUBLE
;创建一个变量(数据集)
SDdataset_id = HDF_SD_CREATE(SDinterface_id, 'var1', [10,20], /FLOAT)
;增加一个变量属性
HDF_SD_ATTRSET, SDdataset_id, 'TITLE', 'MY TITLE SDinterface_id', 15
;找到刚刚创建的 RANGE 属性
index=HDF_SD_ATTRFIND(SDinterface_id, 'RANGE')
;从 RANGE 中获取数据
HDF_SD_ATTRINFO, SDinterface_id, index, NAME=atn, COUNT=atc, TYPE=att, DATA=d
HELP, atn, atc, att
PRINT, d, FORMAT='(F8.2,x,F8.2)'
HDF_SD_ENDACCESS, SDdataset_id
HDF_SD_END, SDinterface_id
 17 HDF_SD_SETINFO  

设置变量信息。
----------------------------------------------------------------------------------
HDF_SD_SETINFO, SDdataset_id [, CALDATA=structure] [, COORDSYS=string] [, FILL=value] [, FORMAT=string] [, LABEL=string] [, RANGE=[max, min]] [, UNIT=string]
----------------------------------------------------------------------------------
◈ SDdataset_id:HDF_SD_SELECT、HDF_SD_CREATE  返回的 SD ID 值(varid)

 
       

【223】◀▶ IDL HDF 文件操作说明的更多相关文章

  1. 【224】◀▶ IDL NetCDF 文件操作说明

    参考:I/O - NetCDF Routines —— NetCDF 操作函数 01   NCDF_OPEN 打开一个 NetCDF 文件. 02   NCDF_CLOSE 关闭一个 NetCDF 文 ...

  2. 【180】IDL 读写 HDF 文件

    HDF(Hierarchical Data Formats)数据格式由 NCSA 开发.HDF 提供了大量的数据模式,包括多维数组.表格.图像.注解和调色板.在下面的章节中,将描述 HDF 科学数据系 ...

  3. Hadoop处理HDF文件

    1.前言 HDF文件是遥感应用中一种常见的数据格式,因为其高度结构化的特点,笔者曾被怎样使用Hadoop处理HDF文件这个问题困扰过相当长的一段时间.于是Google各种解决方式,但都没有找到一种理想 ...

  4. Python解析HDF文件 分类: Python 2015-06-25 00:16 743人阅读 评论(0) 收藏

    前段时间因为一个业务的需求需要解析一个HDF格式的文件.在这之前也不知道到底什么是HDF文件.百度百科的解释如下: HDF是用于存储和分发科学数据的一种自我描述.多对象文件格式.HDF是由美国国家超级 ...

  5. HDF 文件数据的读取

    http://www.cams.cma.gov.cn/cams_973/cheres_docs/cheres_doc_sat.modis.1b.html一. HDF文件格式 1.概述 HDF 是美国国 ...

  6. HDF文件的显示策略

    作者:朱金灿 来源:http://blog.csdn.net/clever101 hdf格式(类似还有netcdf格式)格式是国际上通用的遥感数据格式.它们都是采用不规则存储的格式,就是在一个hdf文 ...

  7. 使用C#版本的gdal库打开hdf文件

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近应同事的请求帮忙研究下使用C#版的gdal库读取hdf文件,今天算是有一点成果,特地做一些记录. 首先是编译C#版 ...

  8. 【171】IDL读取HDF文件

    ;+ ;:Description: ; Describe the procedure. ; ; Author: DYQ 2009-7-19; ; ;- PRO TEST_READHDF COMPILE ...

  9. 【215】◀▶ IDL 文件操作说明 (黑底)

    参考:I/O - General File Access Routines —— 基本文件操作函数 01   CD 修改当前的工作空间路径. 02   FILE_SEARCH 对文件名进行特定的查找. ...

随机推荐

  1. 《UNIX-Shell编程24学时教程》读书笔记Chap3,4 文件,目录操作

    Chap3 文件操作   P28 在这章中,要着重记住一些常用的选项,要有使用正则表达式的思维,能更快达到目的.----@im天行 3.1 列文件名 .profile  sh的初始化脚本: .kshr ...

  2. jquery $.proxy使用 Jquery实现ready()的源码

    jquery $.proxy使用   在某些情况下,我们调用Javascript函数时候,this指针并不一定是我们所期望的那个.例如: 1 //正常的this使用 2 $('#myElement') ...

  3. http协议的Last-Modified

    $modified_time = $_SERVER['HTTP_IF_MODIFIED_SINCE']; if (strtotime($modified_time) + 3600 > time( ...

  4. gridcontrol复选框功能实现(超具体)

    博主这几天就准备离职了,以后不再做.Net开发.因此这应该是我写的最后一篇关于dev控件的博文.既然是最后一篇,那就写的具体一些.画个圆满的省略号...... 本文介绍gridcontrol怎样实现复 ...

  5. windows下route命令详解(转载)

    1.具体功能        该命令用于在本地IP路由表中显示和修改条目.使用不带参数的ROUTE可以显示帮助.            2.语法详解        route [-f] [-p] [co ...

  6. poj 1163 The Triangle &poj 3176 Cow Bowling (dp)

    id=1163">链接:poj 1163 题意:输入一个n层的三角形.第i层有i个数,求从第1层到第n层的全部路线中.权值之和最大的路线. 规定:第i层的某个数仅仅能连线走到第i+1层 ...

  7. VB.NET版机房收费系统—数据库设计

    之前第一遍机房收费的时候,用的数据库是别人的.认知也仅仅能建立在别人的基础上,等自考中<数据库系统原理>这本书学完了之后,再去看曾经的数据库,发现数据库真的还须要进一步的优化.以下是我设计 ...

  8. HDU 5313 Bipartite Graph(二分图染色+01背包水过)

    Problem Description Soda has a bipartite graph with n vertices and m undirected edges. Now he wants ...

  9. c#冒泡法排序

    1.通过冒泡法实现一个int数组的有小到大的排序 代码如下: //用for语句来实现排序功能,冒泡排序 static void Sort(int[] number) { ; i < number ...

  10. flume topology design . tier num 分层数目

    32:+:1 x:1 x<=8 https://flume.apache.org/FlumeUserGuide.html#flume-topology-design Flume topology ...