- 论坛徽章:
- 1
|
本帖最后由 惟吾无为 于 2011-06-23 09:47 编辑
假设需要处理倒数第2个域, 怎样表示?
这个是为了判断倒数第2域是否为r, 如果是就替换成x.
我故意把数据写开些. 理想中的第1域或第2域可能有不定的空格, 但最后3域格式固定. 所以...
d d n r 3
a s d df f t r 2
第3至第9域(不一定是最后一个域)呢?
主要是为了处理ll的结果, 含有空格的文件名就不好办了.
ll "a b c"
-rw-r--r-- 1 root root 677888 Apr 5 22:12 a b c
若是链接, 就又不好办了
ll "c f G"
lrw-r--r-- 1 root root 677888 Apr 5 22:12 c f G -> a b c
顺便问下, 中文文件名截取的问题.
只显示前N或N-1(防止半个中文)个字节. locale无效, 编码gbk, 所以只得自行截取判断.
直接printf截会有半个中文. 自己的纯bash实现感觉有点慢.
希望实现awk依次按字节截取字串, 并判断截获的那1Byte是否属于ascii字符的方法.(不介意有更好的方案) |
|