站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Debian/常用命令与典型错误
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
===从文本格式的表格中抽取数据=== 假设有一个文本文件名为 DPL,其中存放着所有前 Debian 项目领导人的名字和他们的上台日期,表格格式是以空格做为分隔的。 <pre> Ian Murdock August 1993 Bruce Perens April 1996 Ian Jackson January 1998 Wichert Akkerman January 1999 Ben Collins April 2001 Bdale Garbee April 2002 Martin Michlmayr March 2003 </pre> Awk 经常用于从这类文件中提取[[数据]]。 <pre> $ awk '{ print $3 }' <DPL # month started August April January January April April March $ awk '($1=="Ian") { print }' <DPL # DPL called Ian Ian Murdock August 1993 Ian Jackson January 1998 $ awk '($2=="Perens") { print $3,$4 }' <DPL # When Perens started April 1996 </pre> 象 Bash 这种 Shell 也能够用来分析这种文件: <pre> $ while read first last month year; do echo $month done <DPL </pre> 跟第一个 Awk 例子有相同的输出 在这里,read 内建命令使用字符 $IFS (internal field separators 内部列分隔符)来将行分开为单词。 如果你改变 IFS 为 ":",你能够用 shell 漂亮的分析 /etc/passwd: <pre> $ oldIFS="$IFS" # 保存旧值 $ IFS=":" $ while read user password uid gid rest_of_line; do if [ "$user" = "osamu" ]; then echo "$user's ID is $uid" fi done < /etc/passwd osamu's ID is 1001 $ IFS="$oldIFS" # 恢复旧值 </pre> (如果使用 Awk 作同样的事情,使用 FS=":" 来设置列分隔符。) shell 也使用 IFS 来分开参数扩展、命令替换和算术扩展的结果集。 但在被单引号或双引号引用的单词内,不会发生这种情况。 默认的 IFS 值是: <space>、 <tab> 和 <newline> 。 请小心使用这个 shell IFS 技巧。 当 shell 解释部分脚本作为它的输入时,奇怪的事情将会发生。 <pre> $ IFS=":," # 使用 ":" 和 "," 作为 IFS $ echo IFS=$IFS, IFS="$IFS" # echo 是 Bash 内建的 IFS= , IFS=:, $ date -R # 只是一个命令输出 Sat, 23 Aug 2003 08:30:15 +0200 $ echo $(date -R) # 子 shell --> 输入到主 shell Sat 23 Aug 2003 08 30 36 +0200 $ unset IFS # 重设 IFS 为默认的 $ echo $(date -R) Sat, 23 Aug 2003 08:30:50 +0200 </pre>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)