linux 简单文件的处理

 1.tr 命令

  tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。 

  使用方式

  tr [option] .. SET1 [SET2]

  常用的选项有  

选项 说明
-d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配
-s 去除set1指定的再输入文本中连续并重复的字符

 

  操作举例

  

echo 'hello word' | tr -d ' olh'
     e wrd
echo 'hello' | tr -s 'l'
     helo
echo 'hello' | tr '[a-z]' '[A-Z]'
     HELLO

2.col 命令

  col 命令可以将Tab换成对等数量的空格键,或反转这个操作

  使用方式

  col [option]

  常用的选项有

选项 说明
-x 将tab转换为空格
-h 将空格转换成tab(默认)

  操作举例

  

    cat -A /etc/protocols | tail -n 5
        manet^I138 ... [RFC5498]$
        ..
        ..
        ROHC^i142 ... Compression$
    cat /etc/protocols |col -x | cat -A | tail -n 5
        manet 138 ... [RFC5498]$
        ..
        ..
        ROHC 142 ...  Compression$

 

3.join 命令

  join命令用于将两个文件包含相同内容的哪一行合并在一起

  使用方式

   join [option] ... file1 file2

  常用的选项

  

 

选项 说明
-t 指定分隔符,默认为空格
-i 忽略大小写的差异
-1 指明第一个文件要用那个字段来对比,默认对比第一个字段
-2 指明第二个文件要用那个字段来对比,默认对比第一个字段

  操作举例

  

sudo head -n 2 /etc/passwd  /etc/shadow
    ==>/etc/passwd<==
    root:x:0:root:/root/:bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    ==>/etc/shadow<==
   root:*:16330:0:9999:7:::
   daemon:*:16330:0:99999:7:::

sudo join -t ':' /etc/passwd  /etc/shadow | head -n 2

root:x:0:root:/root/:bin/bash:*:16330:0:9999:7:::        daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin:*:16330:0:99999:7:::

 

4.paste命令

  paste 这个命了与join命令类似,它是再不对比数据的情况下,简单的将多个文件合并一起,以tab隔开

  使用方式

  paste [option] file ...

  常用的选项用

选项 说明
-d 指定合并的分隔符,默认为tab
-s 不合并到一行,每个文件为一行

  操作举例

  

echo hello > file1
echo testfile > file2
echo testfile.com > file3
paste -d ':' file1 file2 file3
    hello:testfile:testfile.com
paste -s file*   
    hello
    testfile
    testfile.com

 

posted @ 2015-10-13 12:31  Mihok  阅读(149)  评论(0编辑  收藏  举报