文字处理 text manipulation

来源:互联网 发布:win10和linux双系统 编辑:程序博客网 时间:2024/06/12 10:40

 

1 使用 awk,  把第1列的变量换为行号

 

  awk '{ printf("%d:%s", NR, $2); for (i = 2; i <= NF; i++) { printf(",%s", $i); } printf("/n"); }' b.txt

  - NR 是 line index,awk built-in variaible

  - NF 是 field size (columns),  awk built-in variable 

 

2 使用awk,  求一行共有几列

 

 awk '{print NF}' b.txt

 

3 使用awk, 打印文件某几列 ,  逗号为分隔符

 

 awk -F, ‘{ print $1 "," $2 "," $3 "," $4 ","}’ file.txt

 

4 使用awk, 加插行号到每一行开头

 

 awk '{print NR  ":"  $0}' file.txt

 

$0 is the built-in value of the line

 

5 使用tr, 找出所有数字

 

   echo '123$, 12%5, 234, {234}' | tr -cd '[0-9,]/n'

    -c is complementer
    -d is delete

 

6 sed example

 

  sed 's;@attribute /([0-9]*/);attribute/1;' <attributes.txt >a.txt

 

7 打印文件中的某几行

 

   awk '{if(NR>10 && NR<20) print $0}'  in.file > out.file