[^A-Z] 是匹配的什么啊?
时间:2011-04-24
来源:互联网
aa文件如下:
234234
sfsf
sfklj342
aaaaaaa
ABSD
DDFG
khjh
434er3ABSD
$ cat aa|awk '{if($0~/[^A-Z]/)print $0}'
234234
sfklj342
aaaaaaa 少了sfsf,khjh
434er3ABSD
$ cat aa|awk '{if($0~/[^a-z]/)print $0}'
234234 少了ABSD,DDFG
sfklj342
434er3ABSD
为什么啊。。。求助~
作者: l33549 发布时间: 2011-04-24
LC_COLLATE
for regular expression matching (it determines the meaning of
range expressions and equivalence classes) and string colla-
tion.
LC_CTYPE
for regular expression matching, character classification, con-
version, case-sensitive comparison, and wide character func-
tions.
作者: 哎_还是算了 发布时间: 2011-04-24
作者: l33549 发布时间: 2011-04-24
setlocale − 设 置 当 前 的 区 域 选 项
总 览 (SYNOPSIS)
#include <locale.h>
char *setlocale(int category, const char * locale);
描 述 (DESCRIPTION)
setlocale() 函 数 用 来 设 置 或 者 查 询 程 序 当 前 的 区 域 选 项 .
如 果 locale 不 是 NULL, 程 序 就 会 根 据 参 数 更 改 相 应 的 区 域 选 项 . category 参 数 指 定 区 域 选 项 的 哪 一 部 分 需 要 更 改 .
LC_ALL
代 表 所 有 部 分 .
LC_COLLATE
代 表 正 则 表 达 式 匹 配 (和 范 围 表 达 式 [range expressions] 以 及 字 符 类 [classes] 有 关 系 ) 和 字 符 串 排 序 .
LC_CTYPE
代 表 正 则 表 达 式 匹 配 , 字 符 类 (character classification), 转 换 , 区 分 大 小 写 的 比 较 , 以 及 宽 字 符 函 数 .
LC_MESSAGES
代 表 可 以 本 地 化 的 消 息 (自 然 语 言 ).
LC_MONETARY
代 表 货 币 格 式 .
LC_NUMERIC
代 表 数 字 格 式 (比 如 小 数 点 和 千 位 分 组 符 ).
LC_TIME
代 表 时 间 和 日 期 格 式 .
locale 参 数 是 一 个 指 向 字 符 串 的 指 针 . 此 字 符 串 为 category 需 要 的 设 置 . 此 字 符 串 可 以 是 一 个 众 所 周 知 的 区 域 选 项 常 量 , 如 "C" 或 "da_DK" (见 下 ), 也 可 以 是 另 外 一 个 setlocale 调 用 返 回 的 字 符 串 .
如 果 locale 是 "", 需 要 更 改 的 部 分 会 根 据 环 境 变 量 做 相 应 的 设 置 . 具 体 的 和 实 现 有 关 . 对 于 glibc 来 说 , 首 先 查 看 环 境 变 量 LC_ALL (不 管 category),然 后 查 看 和 category (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME) 同 名 的 环 境 变 量 , 最 后 查 看 环 境 变 量 LANG. 以 先 查 到 的 环 境 变 量 为 准 . 如 果 其 值 不 是 一 个 有 效 的 区 域 选 项 , 区 域 选 项 将 不 会 改 变 , setlocale 会 返 回 NULL.
标 准 区 域 选 项 "C" 和 "POSIX" 是 可 移 植 的 ; 它 的 LC_CTYPE 部 分 对 应 的 是 7 位 的 ASCII 字 符 集 .
一 个 典 型 的 区 域 选 项 有 如 下 的 格 式 : language[_territory][.codeset][@modifier], 其 中 language 是 一 个 ISO 639 语 言 代 码 , territory 是 一 个 ISO 3166 国 家 代 码 , codeset 是 一 个 象 ISO-8859-1 或 者 UTF-8 的 字 符 集 或 者 编 码 标 识 符 . 用 "locale -a", cf. locale(1) 可 以 获 得 一 个 系 统 支 持 的 区 域 选 项 的 列 表 .
如 果 locale 是 NULL, 意 味 着 只 是 查 询 当 前 的 区 域 选 项 而 不 更 改 它 .
当 main 程 序 开 始 的 时 候 可 移 植 的 "C" 区 域 选 项 作 为 默 认 值 被 设 置 . 一 个 程 序 可 以 在 初 始 化 之 后 调 用 setlocale(LC_ALL, "" ) 函 数 , 并 且 从 localeconv() 调 用 的 返 回 中 获 得 和 区 域 选 项 相 关 的 信 息 , 如 果 MB_CUR_MAX > 1 就 用 多 字 节 和 宽 字 节 函 数 来 处 理 文 本 , 用 strcoll(), wcscoll() 或 者 strxfrm(), wcsxfrm() 来 比 较 字 符 串 , 这 样 就 可 以 使 程 序 有 较 好 的 移 植 性 .
返 回 值 (RETURN VALUE)
一 个 成 功 的 setlocale() 调 用 会 返 回 一 个 表 示 当 前 区 域 选 项 的 字 符 串 (指 针 ). 这 个 字 符 串 可 能 是 在 静 态 存 储 区 中 分 配 的 . 之 后 用 相 应 的 category 和 这 个 字 符 串 作 为 参 数 再 去 调 用 这 个 函 数 会 重 新 把 程 序 区 域 选 项 的 相 应 部 分 恢 复 . 如 果 请 求 不 能 完 成 将 会 返 回 NULL .
遵 循 (CONFORMING TO)
ANSI C, POSIX.1
注 意 (NOTES)
Linux (也 就 是 , GNU libc) 支 持 可 移 植 的 "C" 和 "POSIX" 区 域 选 项 . 在 以 前 它 曾 经 支 持 欧 洲 Latin-1 区 域 选 项 "ISO-8859-1" (比 如 说 在 libc-4.5.21 和 libc-4.6.27 中 ), 和 俄 罗 斯 的 "KOI-8" (更 准 确 点 是 , "koi-8r") 区 域 选 项 (比 如 在 libc-4.6.27 中 ), 所 以 设 置 一 个 环 境 变 量 LC_CTYPE=ISO-8859-1 就 能 够 让 isprint() 返 回 正 确 的 结 果 . 现 在 不 讲 英 语 的 欧 洲 人 会 比 以 前 更 麻 烦 一 些 , 他 们 需 要 安 装 相 应 的 区 域 选 项 文 件 .
参 见 (SEE ALSO)
locale(1), localedef(1), strcoll(3), isalpha(3), localeconv(3), strftime(3), charsets(4), locale(7)
[中 文 版 维 护 人 ]
唐 友 <tony_ty [AT] 263.net>
[中 文 版 最 新 更 新 ]
2001/12/2
[中 国 Linux论 坛 man手 册 页 翻 译 计 划 ]
http://cmpp.linuxforum.net
作者: 哎_还是算了 发布时间: 2011-04-24
[A-Z]
指的是A-Z之间的单个字符,例如
A
B
C
.
.
.
Z
就匹配上了
作者: 南极雨 发布时间: 2011-04-24
[A-Z]
指的是A-Z之间的单个字符,例如
A
B
C
.
.
.
Z
就匹配上了
南极雨 发表于 2011-04-24 20:05
是 [^A-Z] 。。。
作者: l33549 发布时间: 2011-04-24
[]是一个字符组,该字符组[^A-Z]匹配是,不匹配大写字母A-Z,^不匹配。
作者: 只爱睡觉 发布时间: 2011-04-24
作者: l33549 发布时间: 2011-04-24
作者: ziyunfei 发布时间: 2011-04-24
把LANG设置成C试试
#awk '$0~/[^A-Z]/' urfile 234234 sfsf sfklj342 aaaaaaa khjh 434er3ABSD #locale LANG= LC_CTYPE="C" LC_COLLATE="C" LC_TIME="C" LC_NUMERIC="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL= |
作者: Shell_HAT 发布时间: 2011-04-24
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28