黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 操作系统 >> LINIX UNIX >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]使用Linux 文本工具简化数据的提取
      ★★★

使用Linux 文本工具简化数据的提取

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-10-4 10:29:17
 

 awk

  awk 是 Linux 上功能最为强大的工具之一。它本身实际上是一种编程语言,可以实现复杂的逻辑语句,还可以简化部分文本的提取。在本文那中我们将不会详细对其进行介绍,而是快速了解一下它的语法,并尝试几个实际的例子。

  awk 命令包括一个模式和由一条或多条语句构成的操作,语法如下所示:

awk '/pattern/ {action}' file 

  请注意:

  一种非常有用的操作是打印数据!下面是如何引用一条记录中的域。

  我们还可以从一条记录中提取多个域,之间使用逗号分开。

  举例来说,要提取 /etc/passwd 文件中的第 6 个域,命令如下:

# awk -F: '{print $6}' /etc/passwd 
/root 
/bin 
/sbin 
/var/adm 
/var/spool/lpd 
/sbin 
/sbin 
/sbin 
/var/spool/mail 
/etc/news 
/var/spool/uucp 

  注意 -F 是由预先定义的 FS 变量所定义的输入域分隔符。在我们这个例子中是空格。

  要从 /etc/passwd 文件中提取第一个和第六个域,命令如下:

# awk -F: '{print $1,$6}' /etc/passwd 
root /root 
bin /bin 
daemon /sbin 
adm /var/adm 
lp /var/spool/lpd 
sync /sbin 
shutdown /sbin 
halt /sbin 
mail /var/spool/mail 
news /etc/news 
uucp /var/spool/uucp 
operator /root 

  要在域之间使用短横线代替冒号来打印这个文件的内容,命令如下:

# awk -F: '{OFS="-"}{print $1,$6}' /etc/passwd 
root-/root 
bin-/bin 
daemon-/sbin 
adm-/var/adm 
lp-/var/spool/lpd 
sync-/sbin 
shutdown-/sbin 
halt-/sbin 
mail-/var/spool/mail 
news-/etc/news 
uucp-/var/spool/uucp 
operator-/root 

  要使用短横线作为域之间的分隔符来打印文件,并且只以逆序打印第一个域和第六个域,命令如下:

# awk -F: '{OFS="-"}{print $6,$1}' /etc/passwd 
/root-root 
/bin-bin 
/sbin-daemon 
/var/adm-adm 
/var/spool/lpd-lp 
/sbin-sync 
/sbin-shutdown 
/sbin-halt 
/var/spool/mail-mail 
/etc/news-news 
/var/spool/uucp-uucp 
/root-operator 

  head

  head 工具打印每个文件的最开始部分的内容(默认是 10 行)。如果没有给定文件,它就从标准输入中读入内容,如果给定了文件名就从文件中读入内容。

  举例来说,如果我们希望从 memo 文件中提取前两行内容,命令如下:

# head -2 memo 
In order to better serve the needs of our mass 
market customers, ABC Publishing is 
integrating the groups selling to this channel 
for ABC General Reference and ABC Computer 
Publishing. This change will allow us to 
better coordinate our selling and marketing 
efforts, as well as simplify ABC's 
relationships with these customers in the 
areas of customer service, co-op management, 
and credit and collection. Two national 
account managers, Ricky Ponting and Greeme 
Smith, have joined the sales team as a result 
of these changes. 

  我们可以使用 -c 选项指定要显示的字节个数。举例来说,如果我们希望从 memo 文件中读取前两个字节的内容,可以使用下面的命令:

# head -c 2 memo 
In 

  tail

  tail 工具打印每个文件的最末尾部分的内容(默认是 10 行)。如果没有给定文件,它就从标准输入中读入内容,如果给定了文件名就从文件中读入内容。

  举例来说,如果我们希望从 memo 文件中提取最后两行内容,命令如下:

# tail -2 memo 

Please join me in welcoming each of our new team members. 

  我们可以使用 -c 选项指定要显示的字节个数。举例来说,如果我们希望从 memo 文件中读取最后五个字节的内容,可以使用下面的命令:

# tail -c 5 memo 
ers. 

  结束语

  现在我们已经知道如何使用各种工具从标准 Linux 文件中向外提取数据了。一旦提取出数据之后,这些数据就可以进行查看、打印或重定向到其他文件或数据库中了。了解了如何使用这些有用的工具可以帮助我们减少花费在烦杂任务上的时间,从而能够成为一名效率更高的管理员。

上一页  [1] [2] [3] [4] [5] [6] 

文章录入:sygbox    责任编辑:sygbox 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体:
    中介交易区
    最 新 热 门
    Linux服务器傻瓜式安装完全接触08-31
    Linux中新闻组服务器和客户端的使08-14
    Linux下查找漏洞的几种必备工具08-13
    Linux操作系统上摄像头的使用小技08-11
    网络工程师 Linux系统日志的分析08-08
    Ubuntu 7.04操作系统下安装Man在07-27
    从USB移动硬盘上引导Portable Li07-27
    Ghost程序参数四则 系统备份与恢07-27
    系统安全:分级防御对Linux服务器07-24
    Linux操作系统中厉害的“七种武器07-21
    体系架构是不是桌面Linux系统的弱07-19
    Linux系统的各种后门和日志工具详07-19
    相 关 文 章
    爆料:一个linux提权用的技巧
    Windows与Linux本地用户提权体验
    HWay V3.0的使用教程
    Linux 2.6.9内核键盘记录
    如何使用Windows系统的文件保护功能?
    logtamper-v1.0 修改linux 日志的工具
    linux平台下渗透日本著名XXXXXX.TV
    LINUX下写入一句话木马的方法整理
    如何使用Nikto漏洞扫描工具检测网站安全
    wnps 0.26 一款Linux后门程序
    Linux服务器傻瓜式安装完全接触
    Windows优化大师十二则使用技巧推荐
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886