- 浏览: 4752572 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
Bash字符串处理(与Java对照) - 18.格式化字符串
In Java
class Formatter
参见:http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax
String.format
static String format(String format, Object... args)
使用指定的格式字符串和参数返回一个格式化字符串。
参见:String.format函数使用方法介绍 http://blog.csdn.net/andycpp/article/details/1749700
System.out.printf
参见:http://www.java2s.com/Code/JavaAPI/java.lang/System.out.printf.htm
In Bash
printf
Write the formatted arguments to the standard output under the control of the format. The format is a
character string which contains three types of objects: plain characters, which are simply copied to
standard output, character escape sequences, which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive argument. In addition to
the standard printf(1) formats, %b causes printf to expand backslash escape sequences in the correspond-
ing argument (except that \c terminates output, backslashes in \', \", and \? are not removed, and octal
escapes beginning with \0 may contain up to four digits), and %q causes printf to output the correspond-
ing argument in a format that can be reused as shell input.
The -v option causes the output to be assigned to the variable var rather than being printed to the
standard output.
The format is reused as necessary to consume all of the arguments. If the format requires more argu-
ments than are supplied, the extra format specifications behave as if a zero value or null string, as
appropriate, had been supplied. The return value is zero on success, non-zero on failure.
转义字符:
\" double quote
\NNN character with octal value NNN (1 to 3 digits)
\\ backslash
\a alert (BEL)
\b backspace
\c produce no further output
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\xHH byte with hexadecimal value HH (1 to 2 digits)
\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)
\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)
%% a single %
%b ARGUMENT as a string with ‘\’ escapes interpreted,
except that octal escapes are of the form \0 or \0NNN
and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type
first. Variable widths are handled.
如果你想对printf命令更深入的了解,参见 http://wiki.bash-hackers.org/commands/builtin/printf
打印换行
示例来自 http://ss64.com/bash/printf.html
# Use \n to start a new line
$ printf "Two separate\nlines\n"
Two separate
lines
[root@jfht ~]# printf "Two separate\nlines\n"
Two separate
lines
[root@jfht ~]# echo "Two separate\nlines\n"
Two separate\nlines\n
[root@jfht ~]# echo -e "Two separate\nlines\n"
Two separate
lines
[root@jfht ~]# echo -n -e "Two separate\nlines\n"
Two separate
lines
[root@jfht ~]#
用0填充(Zero Padding)
技巧来自 Zero Padding in Bash http://jonathanwagner.net/2007/04/zero-padding-in-bash/
创建从1到31为名的目录
for ((x=1;x<=31;x+=1)); do mkdir $x; done
一位数字前面加0
for ((x=1;x< =31;x+=1)); do mkdir `printf "%02d" $x`; done
例子来自 http://ss64.com/bash/printf.html
# Echo a list of numbers from 1 to 100, adding 3 digits of Zero padding
# so they appear as 001, 002, 003 etc:
$ for ((num=1;num<=100;num+=1)); do echo `printf "%03d" $num`; done
设置打印宽度、用空白填充
示例来自 http://linuxconfig.org/bash-printf-syntax-basics-with-examples
#/bin/bash divider=============================== divider=$divider$divider header="\n %-10s %8s %10s %11s\n" format=" %-10s %08d %10s %11.2f\n" width=43 printf "$header" "ITEM NAME" "ITEM ID" "COLOR" "PRICE" printf "%$width.${width}s\n" "$divider" printf "$format" \ Triangle 13 red 20 \ Oval 204449 "dark blue" 65.656 \ Square 3145 orange .7
[root@jfht ~]# ./table.sh
Triangle 00000013 red 20.00
Oval 00204449 dark blue 65.66
Square 00003145 orange 0.70
[root@jfht ~]#
本文链接:http://codingstandards.iteye.com/blog/1198098 (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)
上节内容:Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
下节内容:Bash字符串处理(与Java对照) - 19.查找字符的位置
发表评论
-
Bash字符串处理(与Java对照) - 22.判断字符串是否数字串
2011-10-25 09:25 5497Bash字符串处理(与Java对照) - 22.判断字符串是否 ... -
Bash字符串处理(与Java对照) - 21.字符串正则匹配
2011-10-24 09:07 11073Bash字符串处理(与Java对照) - 21.字符串正则匹配 ... -
Bash字符串处理(与Java对照) - 20.查找子串的位置
2011-10-19 09:14 6832Bash字符串处理(与Java对照) - 20.查找子串的位置 ... -
Bash字符串处理(与Java对照) - 19.查找字符的位置
2011-10-18 09:06 5950Bash字符串处理(与Java对照) - 19.查找字符的位置 ... -
Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
2011-10-09 08:58 6996Bash字符串处理(与Java对照) - 17.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 16.判断是否以另外的字符串开头
2011-10-08 09:17 8412Bash字符串处理(与Java对照) - 16.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 15.计算子串出现的次数
2011-09-28 09:37 3428Bash字符串处理(与Java对照) - 15.计算子串出现的 ... -
Bash字符串处理(与Java对照) - 14.判断是否包含另外的字符串(多达6种方法)
2011-09-27 13:22 8344Bash字符串处理(与Java对照) - 14.判断是否包含另 ... -
Bash字符串处理(与Java对照) - 13.字符串数组连接(以指定分隔符合并)
2011-09-26 09:19 5197Bash字符串处理(与Java对照) - 13.字符串数组连接 ... -
Bash字符串处理(与Java对照) - 12.字符串连接
2011-09-23 09:08 6368Bash字符串处理(与Java对照) - 12.字符串连接 ... -
Bash字符串处理(与Java对照) - 11.比较两个字符串大小(字典顺序、数值比较)
2011-09-21 09:31 5732Bash字符串处理(与Java对照) - 11.比较两个字符串 ... -
Bash字符串处理(与Java对照) - 10.判断两个字符串是否相等(不等)
2011-09-20 09:16 6927Bash字符串处理(与Java对照) - 10.判断两个字符串 ... -
Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符
2011-09-19 09:13 3750Bash字符串处理(与Java对照) - 9.获取字符串指定位 ... -
Bash字符串处理(与Java对照) - 8.计算字符串长度
2011-09-16 09:20 5685Bash字符串处理(与Java对照) - 8.计算字符串长度 ... -
Bash字符串处理(与Java对照) - 7.字符串与默认值
2011-09-15 09:20 3969Bash字符串处理(与Java对照) - 7.字符串与默认值 ... -
Bash字符串处理(与Java对照) - 6.判断字符串是否为空(不为空)
2011-09-14 09:20 7226Bash字符串处理(与Java对照) - 6.判断字符串是否为 ... -
Bash字符串处理(与Java对照) - 5.字符串输入(读取字符串)
2011-09-13 09:28 3951Bash字符串处理(与Java对照) - 5.字符串输入(读取 ... -
Bash字符串处理(与Java对照) - 4.字符串输出
2011-09-08 09:30 3757Bash字符串处理(与Java对照) - 4.字符串输出 I ... -
Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值
2011-09-07 09:29 6897Bash字符串处理(与Java ... -
Bash字符串处理(与Java对照) - 2.字符串的表示方式(字符串常量)
2011-09-06 09:18 6154Bash字符串处理(与Java ...
相关推荐
9. **用户代理伪装**:`--user-agent=字符串`可以改变发出请求的用户代理标识。 10. **证书验证**:对于HTTPS,可以使用`--ca-certificate`指定自定义CA证书,`--no-check-certificate`禁用证书检查。 `wget`的...
1. **安全审计**:在安全研究中,Frida常用于检测潜在的安全漏洞,例如检测缓冲区溢出、格式字符串漏洞等。 2. **自动化测试**:在软件测试中,Frida可以用来模拟用户输入,检查程序的响应和行为。 3. **逆向工程*...
4. **文本块(Text Blocks,JEP 378)**:为Java源代码引入了多行字符串文字,使得处理多行字符串变得更加简单。 5. **强类型字符串连接(JEP 359)**:增强了字符串连接操作的性能,使得在连接字符串时无需创建...
字符串处理是BASH编程中的重要组成部分,它允许用户对文本数据进行操作,包括截取、替换、比较等。这篇博文将深入探讨BASH中的字符串处理技巧。 一、字符串定义与赋值 在BASH中,字符串可以被赋值给变量,常见的...
9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare 或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环和分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4. ...
使用模式匹配来分析比较特殊的字符串 9-20. 对字符串的前缀或后缀使用匹配模式 9-21. 使用declare来指定变量的类型 9-22. 间接引用 9-23. 传递一个间接引用给awk 9-24. 产生随机数 9-25. 从一副扑克牌中取出一张...
3. **字符串切片**:提供一种高效访问字符串子序列的方法,而无需复制整个字符串。 4. **并行流收集器**:改进了并行流的性能,特别是在大型数据集上。 5. **模块化系统**(Jigsaw项目):进一步增强了Java的模块...
这段代码创建了一个名为"MyGlobalTable"的DynamoDB全球表,具有一个字符串类型的主键"id",并将在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)这两个区域进行复制。 总的来说,`aws-cdk.aws-dynamodb-global`是...
Redis是基于键值对的数据存储系统,支持多种数据结构,如字符串、哈希、列表、集合和有序集合。这些数据结构使得Redis在处理各种场景时表现出高效性,比如缓存、发布/订阅消息、计数器等。 在Linux环境中,`tar.gz`...
1. **解析**:将非结构化的电话号码字符串转换为结构化的PhoneNumber对象,即使号码格式不正确也能尝试进行解析。 2. **格式化**:将PhoneNumber对象转换为用户友好的格式,如国际格式、国家格式、国家拨号格式等,...
- **解析YAML**:能够读取YAML格式的文件或字符串,将其转换为Python的数据结构,如字典、列表、字符串、数字等。 - **序列化Python对象**:可以将Python的数据结构转化为YAML字符串,方便存储或传输。 - **安全解析...
它能将JSON字符串转换为一个C数据结构,便于进一步处理。 2. **生成JSON**: 反之,它也能将C数据结构转换回JSON字符串,用于发送或存储。 3. **数据操作**: Jansson允许用户创建、修改和遍历JSON对象。这包括添加...
2. **异常值检测与处理**:通过设定阈值、识别离群点或应用统计学方法,库能帮助识别并处理可能的异常值。 3. **重复值检测与去除**:pydatacleaner可以检测并移除数据集中的重复记录,以保持数据的唯一性。 4. **...
这些实用工具可能涵盖了字符串处理、数据结构操作、文件I/O、网络通信、日期时间处理、错误处理等多个方面。 例如,一个通用的实用工具库可能会有以下功能: 1. **数据类型转换**:提供便捷的方法将字符串、数字和...
1. **自定义日期时间格式**:`ctparse`允许用户定义自己的日期和时间格式模板,可以处理包含中文字符、数字以及各种分隔符的日期字符串。 2. **智能解析**:库中的解析器能够自动识别并处理各种不规则的日期字符串...
`gettext-0.16.1.tar.gz` 是一个开源软件包,主要用于处理软件本地化(internationalization)和翻译(localization),它在IT行业中扮演着重要的角色,尤其是在多语言支持方面。`gettext` 工具集是GNU项目的一部分...
Python 3支持现代编程特性,如Unicode字符串处理和yield from语句,同时移除了Python 2中的许多过时元素。`mercury_toolkit`是一个为Python 3设计的库,因此确保了与最新Python环境的兼容性。 **后端开发** 在软件...
在Python中,这类库通常包含各种语言的字符串资源,以及用于转换和适应不同地区习惯的函数。 要安装这个库,可以使用`pip`命令,直接在终端输入: ```bash pip install KGlobal-1.6.7.0-py3-none-any.whl ``` ...
1. **结构化数据**:它允许你定义日志事件的结构,如时间戳、模块、函数名、级别等,所有这些信息都会被封装在字典或其他可迭代对象中,而非简单的字符串。 2. **处理链**:`structlog`支持日志处理器链,允许...
总的来说,`construct_hub`是Python中处理结构化数据的强大工具,尤其适合处理复杂的数据格式。通过理解和掌握其用法,开发者能够更高效地处理二进制数据,提升代码的可读性和维护性。对于那些需要处理大量二进制...