当前位置:首页 » 编程软件 » shell脚本printf

shell脚本printf

发布时间: 2023-01-08 19:34:44

A. shell脚本 setenv YE 0100 然后yr= `printf "%04d" $YE` 再echo $yr 为什么yr是0064

printf默认输出的是10进制数,0100是八进制,
试试这个
YE=0100
yr=`printf "%#o" $YE`
echo $yr

B. linux shell脚本中printf打印的时候怎么不足2位补空格

echo"123"|awk'{printf"%2s",$2}'

C. 在 shell脚本中调用一个C语言的可执行程序,如何将C程序中printf的字符保存成到文件中

在shell调用时,重定向输出的信息:

./helloExe>test.txt

hello world!就保存到文件test.txt中了。

D. 【现学现忘&Shell编程】— 31.AWK编程之printf命令

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。

AWK可以看成一门独立的语言,它拥有语言的基本特征,换句话说AWK可以写出极其繁琐和复杂的程序,AWK的语法比Shell的语法还难以接收。但绝大多数情况下,我们并不需要用AWK写过于复杂的东西,建议能用Shell处理的需求就不用AWK来解决。

当用AWK处理需求远要比Shell处理简单的多的时候,我们就用AWK来解决。

AWK也是用来截取列信息的,它比Shell中的 cut 命令更先进,比如对空格作为分隔符的处理。

在学习AWK之前,我们要先学习一下 printf 格式化输出命令,这个命令是AWK基本输出中必须要用到的一个命令。

AWK的标准输出支持 print 命令和 printf 命令,这两个命令在AWK当中基本作用是一样的,但是Linux命令中只支持 printf 命令,如下:

我们可以看到Linux系统中只支持 printf 命令,所以我们这里就先学习一下 printf 命令。

使用如下文本

执行 printf 命令:

[root@localhost tmp]# printf '%s' $(cat student.txt)

说明: printf 命令后是没有办法直接写参数的,也就是不能直接加文件名来读取文件的内容, printf 命令支持的是其他命令结果的输出,交给 printf 命令来处理。所以说 printf 命令很少单独使用,一般都放在AWK当中来使用,这样更加合理,否则就和上边一样,看起来很难受。

结果:

我们可以看到上面的结果非常的烂,他是把所有的内容一个字符紧接着一个字符的输出,中间没有空格或者回车。

这就是 printf 命令,如果不指定输出的格式,则会把所有输出内容连在一起输出。其实文本的输出本身就是这样的, cat 等文本输出命令之所以可以按照漂亮的格式输出,那是因为 cat 命令已经设定了输出格式。

那么为了让 printf 输出合理的格式,就需要手动自定义自己需要的格式。

printf '%s\t %s\t %s\t %s\t %s\t %s\t \n' $(cat student.txt)

执行命令结果如下:

如果不想把成绩当成字符串输出,而是按照整型和浮点型输出,执行如下命令:

这个例子不是很好,但一定要把标题顾虑掉,否则会出现如下效果,标题都被变成了整型数据。

E. shell中的print和printf的区别

shell 没有print命令, 不过是有printf命令的哦, 这个区别在于, printf可以使用格式化字符串的呢。
能否看一下my网名呢, 以后遇到了shell编程的问题的话, 都能帮助搞定的哦。

F. Shell脚本如何向终端输出信息

常用如下两个命令用于向终端打印信息:echoprintf echo命令常用于需要进行简单格式化的字符串打印;printf命令是Shell版本的C语言函数printf,它为格式化输出提供了高度的灵活性。echo命令 用于向终端输出信息的最常用命令是echo命令,用法为: echo string 这里,string是要向屏幕打印输出的字符串,如命令:echo Hi 产生如下输出:Hi 也可以将空格嵌入到输出中,例如: $echo Hello World! Hello World! 除了空格,还可以在string中嵌入格式化转义序列。 echo命令的常用转义序列 转义序列描述 \n打印一个换行符 \t打印一个跳格符(tab符) \c打印字符串时不带换行符 \ 打印一个双引号 printf命令类似于echo命令,最基本的使用与echo一样,以下echo命令: echo Hello World!等同于 printf Hello World! printf命令与C语言中的printf函数一样,还可以使用格式化串来实现复杂的格式化输出功能,语法如下: printf format argument 格式化序列的格式如下:%[-]m.nx 这里%用于标识格式化序列的开始,x标识格式化序列的类型,下表给出了x常用的值: 格式化序列类型字母描述s字符串c单个字符 d十进制整数 x十六进制整数f符点数

G. shell脚本主要有哪些

第一个shell脚本程序:

#!/bin/bash
# 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo "Hello, world!"

变量:

定义变量:

country="China"Number=100

注意: 1,变量名和等号之间不能有空格;

2,首个字符必须为字母(a-z,A-Z)。

3, 中间不能有空格,可以使用下划线(_)。

4, 不能使用标点符号。

5, 不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量:

只需要在一个定义过的变量前面加上美元符号$就可以了, 另外,对于变量的{} 是可以选择的, 它的目的为帮助解释器识别变量的边界.

country="China"echo $countryecho ${country}echo "I love my ${country}abcd!"

#这个需要有{}的;

重定义变量:直接把变量重新像开始定义的那样子赋值就可以了:

country="China"country="ribenguizi"

只读变量: 用 readonly 命令 可以把变量字义为只读变量。

readonly country="China"#或
country="China"readonly country

删除变量: 使用unset命令可以删除变量,但是不能删除只读的变量。用法:

unset variable_name

变量类型

运行shell时,会同时存在三种变量:

1) 局部变量

局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2) 环境变量

所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3) shell变量

shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

特殊变量:

其中, 1. 取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。2. 如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

H. shell中的print和printf的区别

因为不知道你使用的是bash还是tcsh,还是其他种类的shell。假设是bash, 下面举例子讲解,有可能你的机器上的同样的命令输出与我的不同,供参考。

1)运行下面2条which命令:
$ which print
/usr/bin/print

$ which printf

/usr/bin/printf

说明当前机器上安装了外部命令print和printf

2)看一下这2个命令的具体的位置:
$ ls -l /usr/bin/print /usr/bin/printf
lrwxrwxrwx 1 root root 11 Nov 15 2010 /usr/bin/print -> run-mailcap
-rwxr-xr-x 1 root root 51744 Apr 1 2012 /usr/bin/printf

说明print是符号链接,看看它指向的可执行文件:

$ ls -l /usr/bin/run-mailcap
-rwxr-xr-x 1 root root 17012 Nov 15 2010 /usr/bin/run-mailcap

3)运行print --help或者man print可以查看它的帮助
运行man printf可以查看帮助,或者运行/usr/bin/printf --help查看帮助

为什么运行printf --help不能查看帮助呢?

4)在bash环境下面,运行help可以看见所有的内置命令,可以看见内置命令包括printf,命令同名时,内置命令的优先级高于外部命令,并且内置命令用help printf来查看帮助。
综上所述,查看内置printf命令的帮助用help printf,查看外部printf命令的帮助要带上全路径,运行/usr/bin/printf --help查看帮助(不带全路径会被认为是内置printf命令)。

5)我个人经验,普通的打印用echo命令,格式化打印用printf命令(内置的,外部的都可以)。

谢谢!

I. linux建立一个shell脚本格式化输出一个文件

linux建立一个shell脚本格式化输出一个文件可以实现。
1、C++实现获取文件名称,输出到txt文档中,拷贝到Excel以便按列处理。
2、构造格式一左数据,组合成格式一数据。
3、结合notepad++正则表达式匹配,构造格式二、三内容,组合成格式二、三数据,即可建立一个shell脚本格式化输出一个文件。

J. shell中的print和printf的区别

print按照默认的分隔符打印一个或多个变量或常量(字符串),末尾自动换行;
printf可以格式化后输出每个变量,(可以控制打印位置、分割、占位宽度、数值的显示方式、位数等),末尾不会自动换行,如需换行需要在printf第一个格式字符串参数末尾使用“\n”
这是主要的区别,具体用法可以查看相关帮助文件

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:581
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1013
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:713