Problem 56 awk代码实例

awk '# factorial: return factorial of user-supplied number

BEGIN {

# prompt user; use printf, not print, to avoid the newline

printf("Enter number: ")

}

# check that user enters a number

$1 ~ /^[0-9]+$/ {

# assign value of $1 to number & fact

number = $1

if (number == 0)

fact = 1

else

fact = number

# loop to multiply fact*x until x = 1

for (x = number - 1; x > 1; x--)

fact *= x

printf("The factorial of %d is %g/n", number, fact)

# exit -- saves user from typing CRTL-D.

exit

}

# if not a number, prompt again.

{ printf("/nInvalid entry. Enter a number: ")

}' -

 

awk '# lookup -- reads local glossary file and prompts user for query

#0

BEGIN { FS = "/t"; OFS = "/t"

# prompt user

printf("Enter a glossary term: ")

}

#1 read local file named glossary

FILENAME == "glossary" {

# load each glossary entry into an array

entry[$1] = $2

next

}

#2 scan for command to exit program

$0 ~ /^(quit|[qQ]|exit|[Xx])$/ { exit }

#3 process any non-empty line

$0 != "" {

if ( $0 in entry ) {

# it is there, print definition

print entry[$0]

} else

print $0 " not found"

}

#4 prompt user again for another term

{

printf("Enter another glossary term (q to quit): ")

}' glossary -

 

Problem 57 检测C库中是否支持某个函数的脚本?

Ans:

#!/bin/sh

# Needed for systems without gettext

gcc -xc -o /dev/null - > /dev/null 2>&1 << EOF

#include <libintl.h>

int main()

{

    gettext("");

    return 0;

}

EOF

if [ ! "$?" -eq "0"  ]; then

    echo -DKBUILD_NO_NLS;

fi

选项x指定特定语言, 这里指定的是C语言。

转载于:https://my.oschina.net/fuyajun1983cn/blog/263784

问题集锦(56-57)相关推荐

  1. Unity 4.x游戏开发技巧集锦第2章摄像机的应用

    Unity 4.x游戏开发技巧集锦第2章摄像机的应用 作为游戏开发者,千万不要忽略了摄像机(Camera)的重要性.毕竟玩家是通过摄像机,才看到了游戏的视图.本章将介绍一些摄像机的常见应用.本文选自& ...

  2. C++ Builder技巧集锦

    C++ Builder技巧集锦 1 /* 2 调用DOS程序时不显示窗口 3 使 用 ShellExecute调 用 DOS程 序 时 可 以 不 显 示 窗 口 , 如 :*/ 4 ShellExe ...

  3. 57. Android之程序调试LogCat (转)

    无论什么样的程序开发过程中,出现错误都是不可避免的,一般情况下,语法错误会被开发环境检测到,并能及时的提示我们错误的位置以及修改的方法,但是逻辑错误就不是那么容易被发现了,通常逻辑错误的定位和分析是一 ...

  4. JAVA——JAVA知识点集锦(上)

    转自:http://blog.csdn.net/scythe666/article/details/51994770 1.面向对象的特征有哪些方面?  答:面向对象的特征主要有以下几个方面:  - 抽 ...

  5. php接口视频,56.com视频采集接口程序(PHP)

    楼下也有一个所谓56站程序的,忽悠到了极致,不喜欢被人忽悠的,还是自己做个站吧! 我给大家个采集接口,你爱自己采集可以用自己的FLASH播放器直接播放56.com的flv吧!不用帮人家做免费广告那么傻 ...

  6. conda 换成清华的源_[mcj]conda设置清华源以及更换删除源|conda常用命令集锦

    全文包括: 显示目前使用的源channel 增加channel 删除channel 其他命令 1 显示channel: 首先,conda config --show能够显示出所有conda的confi ...

  7. CSP-S 模拟测试57题解

    人生第一次A,B层一块考rank2,虽然说分差没几分,但还是值得纪念. 题解: T1 天空龙: 大神题,因为我从不写快读也没有写考场注释的习惯,所以不会做,全hzoi就kx会做,kx真大神级人物. T ...

  8. flash开发中记录集锦

    今天编一个别人写的Flex工程, 各种奇葩的问题, flex里一些内部的类, 总是转换出错:  原因是: 相互引用的项目必须用同一个 Flex SDK 2013-12-7 16:21:47 今天搞定一 ...

  9. django进阶04部署上线(nginx,uwsgi,supervisor)

    原创博文地址:django进阶04部署上线(nginx,uwsgi,supervisor) django自身服务ok python manage.py runserver,验证可正常访问 uwsgi安 ...

  10. PIE SDK地图书签

    地图书签,可以理解为暂时记录当前地图的范围和放大级别,在后续的操作中如果想回到地图之前的状态,就可以点击保存的书签就可以回到此状态,如图所示: 地图刚加载的时候是一幅世界地图 我们将地图的中心拖到南美 ...

最新文章

  1. 一个TensorFlow的新模型,Kaparthy小哥用了都说好
  2. 网络状态代码数字的含义
  3. why process type for MyOpportunity creation is empty
  4. 安装python3.7.0的步骤_CentOS7下简单安装python3.7.0步骤
  5. Oracle 跨库 查询 复制表数据 分布式查询
  6. linux 脚本 写更新,用Shell写的游戏客户端更新脚本
  7. mysql 表2符合表1_MYSQL-表1和表2中所有可能性的所有行
  8. 【Redis】Redis 基础知识 常用命令 命令积累
  9. python随机分组的思路_python – 对对象进行分组以实现所有组的类似平均属性
  10. scala 写入文件_Scala文件IO –写入文件,读取文件
  11. Latex中的常用公式模板
  12. 001-开发环境及其基本常识
  13. Python基础之内置函数(二)
  14. 一个ExtJs的最基本的mvc模式示例
  15. 文件服务器s3搭建,搭建基于AWS S3的图片处理服务
  16. Java程序员是考研还是毕业就就业?
  17. 使用lux(annie)下载视频
  18. es-Ingest pipelines
  19. ADB FORWARD
  20. 无穷积分的符号计算及其MATLAB程序

热门文章

  1. Jenkins+Github持续集成
  2. Swift 对象内存模型探究(一)
  3. Answer:关于C#连续赋值的面试题
  4. DockOne微信分享(一一二):Flannel中vxlan backend的原理和实现
  5. 哈希表建立及冲突处理
  6. python中eval与json.loads对json的处理
  7. 无法使用BIPublisher开发报表
  8. 获得一个字符的ASCII值
  9. python 并行计算 并行方法总结 concurrent.futures pp pathos multiprocessing multiprocess模块 总结对比
  10. linux 服务不支持 chkconfig 的解决方法