Linux下数据处理常用命令及选项(一)

1.echo(输出)

-n:关闭换行

-e:解析启用解释反斜杠转义

echo -e '\047' 

2.printf(格式化输出)

    printf "%4s\n" "d" #s代表字符
    printf "%o\n" 10 #o代表8进制数
    printf "%04d\n" 10 #d代表整数 4代表占4位 0代表不足4位的0填充
    printf "%1.2f\n" 1.234 #f代表浮点数
    printf "%x\n" 11 #x代表16进制数


补充: 加上 \’ 表示 打印输入值的 ascii
printf '%x\n'  \'a   #打印a的ascii码

3.more(文件审阅)

more -10 +20 test.unl #-10表示每屏10行 +20 表示跳过20行 

4.cat(查看文件)

-v:显示特殊字符
-A:特殊字符和行尾的$符
-n:显示行号
-b:显示行号,但是忽略空行
-s:多个空行只显示一个

5.tac(文件倒序查看)

6.rev(字符倒序)

$ echo '1234'|rev
4321

7.column(域对齐)
$ cat a.unl 
1|2
22|33
21111112312|22
$column -t -s"|" a.unl    #-t"域对齐"  -s指定域分隔符
1            2
22           33
21111112312  22

8.join(文件拼接,文件需要先排序)

-t:指定域分隔符
-j:指定连接域
-a:需要显示的不匹配的域
-o:指定显示的域

join -t"|" -j1 2 -j2 1 a.unl  b.unl   #-t:指定分隔符  -j 指定连接域(第一个文件第二个域和第二个文件第一个域做连接)

join -a1 -a2 file1 file2 #-a1 显示文件1不匹配的行 -a2 显示文件2不匹配的行

join -o 1.1 2.2 file1 file2 #显示第一个文件第一个域,2.2显示第二个文件第二个域,

9.cut(文件分割)

-f:按照域分割
-d:指定分隔符
-c:按照字符分割

cut –d”|” –f3 a.unl

    cut –d”|” –f3,6 test.unl
    cut –d”|” –f3-6 test.unl
    #单独的域使用 逗号(,)分割 连续的域使用 短横(-)分割


cut -c3,6 a.unl

10.tr(字符替换)

-d:删除所有的指定字符
-s:去重连续的指定字符
-c:替换指定字符外的其他字符

echo "1231231231" | tr "1" "2"

echo "1111222222" | tr -d "1"

echo "1111222222" | tr -s "1"

echo "1111222222" | tr -c "1" "3" 出了1之外的都替换为3

11.paste(按行合并文件)

-d:指定合并行间的分割符
-s:每个文件当做一个行合并为一个文件

paste -d”&” a.unl b.unl

paste –s a.unl b.unl 每个文件做一行合并


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值