awk中分隔符转换的问题(转)

在awk中明明用OFS重新设置了分隔符,为什么在输出的时候还是原样输出呢!

他是这么写的:
   echo 1,2,3,4 | awk 'BEGIN{FS=",";OFS="|"}{print}'”。
       其实在awk中,只设置分隔符而不改变文件的内容,重新设置的分隔符是不会生效的,所以必须让awk认为你改变分隔符的同时也改变了文件的内容才行,重新改动如下:
    echo 1,2,3,4 | awk 'BEIGIN{FS=",";OFS="|"}{$1=$1;print}'
这样写分隔符就改变了,把$1赋给$1,表面上是没有改变文件,但是在awk中程序自己会认为你对文件的内容已经修改了,自然分隔符也就改变了。

awk中分隔符转换的更多相关文章

  1. shell编程系列19--文本处理三剑客之awk中的字符串函数

    shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...

  2. 转 awk中RS,ORS,FS,OFS区别与联系

     今天用到awk ofs 看到一篇不错文章 awk中RS,ORS,FS,OFS区别与联系 张映 发表于 2010-12-02 分类目录: shell 标签:awk, FS, OFS, ORS, RS, ...

  3. awk 中 FS的用法

    在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {pr ...

  4. 常用统计分析 SQL 在 AWK 中的实现(转)

    转自:http://my.oschina.net/leejun2005/blog/100710 最近有需求需要本地处理一些临时的数据,用做统计分析.如果单纯的 MYSQL 也能实现, 不过一堆临时数据 ...

  5. awk 中的难懂符号解释

    awk中NF和NR的意义,其实你已经知道NF和NR的意义了,NF代表的是一个文本文件中一行(一条记录)中的字段个数,NR代表的是这个文本文件的行数(记录数). 看个例子: cal 9 2003 Sep ...

  6. sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表

    USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9 ...

  7. awk中NF,NR的含义

    awk中NF和NR的意义,其实你已经知道NF和NR的意义了,NF代表的是一个文本文件中一行(一条记录)中的字段个数,NR代表的是这个文本文件的行数(记录数).在编程时特别是在数据处理时经常用到.建议你 ...

  8. awk中传参方式

    结合编辑数据文件的shell脚本学习awk传参方式,该脚本功能: a.取VIDEOUSR_11082017_0102_ONLINE_STASTIC.dat文件中第87个字段的低8位: b.将每行数据的 ...

  9. SQL Server中行列转换 Pivot UnPivot

    SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...

随机推荐

  1. Issue 3:数据处理基本认识

    介绍 传统数据库对数据处理一般都分成两类:OLTP和OLAP. 数据分析(OLAP)的前提条件是要准备数据. 然后才是具体的数据分析,对此,可以分为统计型的数据分析和挖掘性的数据分析. 最后对分析结果 ...

  2. zjuoj 3780 Paint the Grid Again

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3780 Paint the Grid Again Time Limit: 2 ...

  3. JAVA用途

    在现今阶段,最有前途的开发语言当属Java,Java语言是跨平台的,Write Once,Run Anywhere是Java的一句口号,学Application编程,可以在计算机上写程序,学Apple ...

  4. jQuery对json快速赋值

    jQuery对json快速赋值,重点在于将input的id取跟JSON同样的名称. <!DOCTYPE html> <html> <head lang="en& ...

  5. Qt之添加QLabel的点击事件

    QLabel功能为显示了一个字符串或者图片等信息,它本身没有click信号.也就不能够响应click点击事件,有什么办法来实现来,我们可以子类化QLabel,实现MouseXXXEvent.class ...

  6. Android应用开发中出现appcompat-v7错误

    博客Melon麦东=原创记录 经常很多朋友在Android应用开发过程中,遇到创建的好的Android工程,出现appcompat-v7错误,这因为Android从5.0开始,引入了此项目库,解决方案 ...

  7. Visual Studio 2015 显示正忙 正在等待内部操作完成

    网上查到的: 1.关闭IntelliTrace 2.进入项目文件夹有.vs的隐藏文件夹,进去找到和项目一样的名字的文件夹,再找v14文件夹,进去,删掉.suo文件 http://www.cnblogs ...

  8. 误用的volatile

    在嵌入式编程中,有对某地址重复读取两次的操作,如地址映射IO.但如果编译器直接处理p[0] = *a; p[1] = *a这种操作时,往往会忽略后一个,而直接使用前一个已计算的结果.这是有问题的,因为 ...

  9. Java面试宝典系列之基础排序算法

    本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...

  10. Linux下的Hello world

    总算正式开始学习Linux了. 先从Hello world入手. 1. 查看当前目录 lenovo@ubuntu:~$ pwd /home/lenovo 2. 新建test目录 lenovo@ubun ...