Linux的scan命令,linux的scan命令

linux下scan命令主要是以scanf的形式使用转换符解析字符串,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux下scan命令的相关知识,希望对大家有帮助!

linux的scan命令详解

scan - 以sscanf的形式使用转换符解析字符串

语法:

scan string format ?varname varname ...?

介绍:

scan命令根据format的格式解析string并给varname赋值,返回成功转换的次数。如果没有提供varname,将以列表形式返回scan匹配值

scan命令和format命令类似.支持的转换字符如下:

d

输入必须为一个十进制整数。其被读入并以十进制字符串方式存入变量。如果提供l或者l此类修改器字符,则扫描的值将以64-bit形式表示

o

输入必须为一个八进制整数。其被读入并以十进制字符串方式存入变量。如果提供l或者l此类修改器字符,则扫描的值将以64-bit形式表示。如果其值超过max_int(当没有l或者l时,32-bit平台为017777777777),将被截断成一个有符号整形数。因此,037777777777 在32-bit机器上默认将被表示为-1

x

输入必须为一个十六进制整形数。其被读入并以十进制字符串方式存入变量。如果提供l或者l此类修改器字符,则扫描的值将以64-bit形式表示。如果其值超过max_int(当没有l或者l时,32-bit平台为017777777777),将被截断成一个有符号整形数。因此,037777777777 在32-bit机器上默认将被表示为-1

u

输入必须为一个十进制整形数。其被读入并以无符号十进制字符串方式存入变量。如果提供l或者l此类修改器字符,则扫描的值将以64-bit形式表示。

i

输入必须为一个整形数。进制取决于如expr描述的方式。其被读入并以无符号十进制字符串方式存入变量。如果提供l或者l此类修改器字符,则扫描的值将以64-bit形式表示。

c

输入为单字符其二进制值以十进制字符串形式保存在变量中。初始的空格在这种情况下不会被跳过,所以输入可以使空格。这个转换不同于ansi标准(输入永远由单字符组成并且没有指定域宽度)

s

输入由直到下一个空白符的所有字符组成;字符会复制给变量

e f g

输入必须为由可选的符号,十进制字符串以及小数点组成的浮点数,可选的指数由e或者e后跟可选符号以及十进制字符串。其被读入并以浮点型字符串方式存入变量。

[chars]

输入由任意数目的字符组成。匹配的字符串存在变量中。用于匹配一组某一范围的字符,用-表示范围,如果-出现在最先或者最后被当做一个字符

[^chars]

输入由任意数目的字符组成。匹配的字符串存在变量中。用于匹配一组某一范围的字符以外的部分,用-表示范围,如果-出现在最先或者最后被当做一个字符

n

不输入任何字符。扫描字符的总数取自最近扫描后所存储的变量

linux的scan命令实例

将一个简单的颜色代码(#rrggbb方式)解析为不同域的值

set string "#08d03f"

scan $string "#%2x%2x%2x" r g b

解析hh:mm时间字符串,注意避免通过强制转换十进制而带来的八进制数问题

set string "08:08" ;# *not* octal!

if {[scan $string "%d:%d" hours minutes] != 2} {

error "not a valid time string"

}

# we have to understand numeric ranges ourselves...

if {$minutes < 0 || $minutes > 59} {

error "invalid number of minutes"

}

将一个字符串分解成非空格字符的一系列集合(注意使用%n转换使得能够跳过第一个空格的字符)

set string " a string {with braced words} + leading space "

set words {}

while {[scan $string %s%n word length] == 2} {

lappend words $word

set string [string range $string $length end]

}

解析一个简单的坐标字符串,通过查找显式终止字符检查是否完成

set string "(5.2,-4e-2)"

# note that the spaces before the literal parts of

# the scan pattern are significant, and that ")" is

# the unicode character \u0029

if {

[scan $string "(%f,%s %c" x y last] != 3

|| $last != 0x0029

} then {

error "invalid coordinate string"

}

puts "x=$x, y=$y"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud Gateway 原生支持接口限流该怎么玩

关于pig&#xff1a; 基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台&#xff0c;支持账号、短信、SSO等多种登录&#xff0c;提供配套视频开发教程。 关于 Spring Cloud Gateway SpringCloudGateway是Spring官方基于Spring 5.0&#xff0c;Spring Boot 2.0和Projec…

我的手机 不支持箭头函数

不支持&#xff0c;要换成function的形式 转载于:https://www.cnblogs.com/web-fusheng/p/7295901.html

中标麒麟linux卸载qt,国产化 银河麒麟编译Qt程序的问题汇总 | 阿拉灯

Run in terminal莫名奇妙软件无法在QtCreator中运行或者调试&#xff0c;main函数都无法进入&#xff0c;QtCreator中一运行就崩溃&#xff0c;并跳到汇编界面&#xff0c;这多半和代码没什么关系&#xff0c;我这里是将项目->运行中的“Run in terminal”去掉勾选&#xff…

css3-13 如何改变文本框的轮廓颜色

css3-13 如何改变文本框的轮廓颜色 一、总结 一句话总结&#xff1a;outline使用和border很像&#xff0c;几乎一模一样&#xff0c;多了一个offset属性 1、轮廓outline如何使用&#xff1f; 使用和border很像&#xff0c;几乎一模一样&#xff0c;多了一个offset属性 18 …

ios添加设备真机测试,以及Undefined symbols for architecture x86_64:''错误

问题今天坑了好久&#xff0c;然后找了各种资料 添加设备这个直接去开发者中心添加一个设备进去就好&#xff0c;具体流程百度&#xff0c;第二个问题是属于路径不对或者是静态库没有添加成功&#xff0c;项目可以看到&#xff0c;到时路径找不到&#xff0c;你把静态库拖到桌面…

linux NF NR实例,awk内建变量示例详解之NR、FNR、NF

NR表示从awk开始执行后&#xff0c;按照记录分隔符读取的数据次数&#xff0c;默认的记录分隔符为换行符&#xff0c;因此默认的就是读取的数据行数&#xff0c;NR可以理解为Number of Record的缩写。在awk处理多个输入文件的时候&#xff0c;在处理完第一个文件后&#xff0c;…

迷宫探索

/* 5 4 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 4 3 */#include<iostream>using namespace std;struct node {int x;//横坐标int y;//纵坐标int f;//父亲在队列中的编号int s;//步数 };int main() {node que[2051];int a[51][51]{0};int book[51][51]{0};//定义一…

Kinect2.0获取数据

最近事情真是多&#xff0c;今天抽空研究一下Kinec2.0的数据获取&#xff01; 系统要求 https://developer.microsoft.com/en-us/windows/kinect/hardware-setup 系统环境 联想Y430P&#xff0c;Windows10 首先安装了Kinect for Windows SDK &#xff08;KinectSDK-v2.0_1409-S…

linux超级工具,linux运维超级工具--sysdig

sysdig 是一个超级系统工具,它可以用来捕获系统状态信息&#xff0c;在运维工作中sysdig能很方便的排查异常、定位故障&#xff0c;它还能保存数据进行分析&#xff0c;并且提供强大的命令接口。在了解sysdig强大之处之前,首先得安装sysdig&#xff0c;我这里是环境是centos6.7…

《sql语句练习1》

Oracle系列《一》&#xff1a;简单SQL与单行函数 使用scott/tiger用户下的emp表和dept表完成下列练习&#xff0c;表的结构说明如下 emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号) dept部门表(deptno部门编号…

Asp.net mvc 知多少(一)

本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan&#xff0c;想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分&#xff0c;ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答…

stm32h7能跑linux,STM32H7榨干了Cortex-M7的最后一滴血

原标题&#xff1a;STM32H7榨干了Cortex-M7的最后一滴血有个非常重磅的消息ST给自己的STM32家族又新增了一条新的产品线—— H7H 代表的是High Pefrmance之意 (此为笔者臆测)7 则表示这是基于ARM Cortex-M7架构修改而来熟悉的工程师可能会问&#xff0c;不是已经有基于M7架构的…

通过PowerShell进行网络分析

好久没有写文章&#xff0c;因为确实工作也比较忙。今天周末&#xff0c;稍微有些时间&#xff0c;在解决一个问题时&#xff0c;用到了一点抓取和处理网络数据的小技巧&#xff0c;摘录分享如下。问题描述我有一个需求&#xff0c;就是要研究某个网页加载过程中具体发起了多少…

jvm监控调优常用命令

jvm监控调优常用命令 转载于:https://www.cnblogs.com/likun10579/p/6403324.html

【BZOJ】1013 球形空间产生器

【解析】代数变形高斯消元 [分析] 依据题目以下的提示。设x[i][j]表示第i个点在第j维的坐标。r[j]为圆心在第j维的坐标 能够知道&#xff1a; dis根号(∑(x[i][j]-r[j])^2)。 因为平方的非负性。所以能够推出 dis^2∑(x[i][j]-r[j])^2。 依据平方和公式&#xff0c;(x[i][j]-r[…

c语言不规则窗口,C语言不规则数组和指针

不规则数组是每一行的列数不一样的二维数组&#xff0c;其原理如下图所示&#xff0c;图中的数组有3行&#xff0c;每行有不同的列数。在了解如何创建不规则数组之前&#xff0c;让我们先看一下用复合字面量创建的二维数组。复合字面量是一种C构造&#xff0c;前面看起来像类型…

php spl_autoload_register() 函数

spl_autoload_register()的用法&#xff1a; 其中$this表示当前类&#xff0c;autoload()是我注册的自动加载函数&#xff0c;当然这个只是一个函数名&#xff0c;只要不与php的关键字重复&#xff0c;符合一般函数名的命名规范即可。 使用自动加载之后&#xff0c;当我们在一个…

C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质...

C语言中递归什么时候能够省略return引发的思考&#xff1a;通过内联汇编解读C语言函数return的本质 事情的经过是这种&#xff0c;博主在用C写一个简单的业务时使用递归&#xff0c;因为粗心而忘了写return。结果发现返回的结果依旧是正确的。经过半小时的反汇编调试。证明了我…

C# 为什么说CM+Fody+HC是WPF开发的最强组合?

01—名词解析CM&#xff1a;Caliburn.Micro(简称CM)一经推出便备受推崇&#xff0c;作为一款MVVM开发模式的经典框架&#xff0c;越来越多的受到wpf开发者的青睐.我们看一下官方的描述&#xff1a;Caliburn是一个为Xaml平台设计的小型但功能强大的框架。Micro实现了各种UI模式&…

c语言逻辑运算符两侧运算对象,逻辑运算符两侧运算对象的数据类型是什么?...

逻辑运算符两侧运算对象的数据类型&#xff1a;可以是任何合法的类型数据&#xff1b;因为逻辑运算符两边的运算对象&#xff0c;最终都被转换成bool值(逻辑值)操作。0、null转换为false&#xff0c;而所有非零、非false、非null值转换为true&#xff1b;然后进行运算。逻辑运算…