当前位置:  技术问答>linux和unix

关于awk 空格处理的问题

    来源: 互联网  发布时间:2016-06-04

    本文导语:  我要用shell实现从一个文本文件中读取指定数据。文件内容如下: ID     NAME        IT     TEXT 01     Mac         io     a 02     Mi you      out    b 03     Ma s s      in     c 我原本...

我要用shell实现从一个文本文件中读取指定数据。文件内容如下:
ID     NAME        IT     TEXT
01     Mac         io     a
02     Mi you      out    b
03     Ma s s      in     c

我原本使用awk但发现由于NAME列有的有空格,读出数据就不对了。
请问如何能正确读取每一列的数据。谢谢

|
处理思路,逐行读入处理,用awk求出每一行的域的个数fn,然后每一行中再循环,第一个域给f1,第fn-1个域给f3,第fn个域给f4,第2到fn-2个域拼起来给f2

[root@p6]#cat file1
01    Mac        io    a 
02    Mi you      out    b 
03    Ma s s      in    c 

[root@p6]#cat bb.sh

while  read  line
do
fn=`echo $line|awk '{print NF}'`
if [ "$fn" = "0" ]
then
  break
fi

i=0;
f1=""
f2=""
f3=""
f4=""

for fd in $line
do
i=`expr $i + 1 `

if [ "$i" = "1" ]; then
f1=$fd
fi

if [ "$i" = "$fn" ]; then
f4=$fd
fi

fsec=`expr $fn - 1`
if [ "$i" = "$fsec" ]; then
f3=$fd
fi

if [ "$i" -gt "1" ]; then
  if [ "$i" -lt "$fsec" ];then
    f2=$f2" "$fd
  fi
fi
done
echo $f1 "--" $f2 "--" $f3 "--" $f4
done 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于awk提取文本时的一个输出结果显示问题
  • 关于awk的一点问题
  • awk 引用的问题
  • shell 以及 awk高手来帮我解决这个问题,谢谢
  • 入门级的awk问题
  • awk shell 的问题
  • awk命令执行问题
  • unix脚本中的awk问题
  • awk的日期函数问题.请高人指点
  • awk问题
  • awk小问题
  • 关于awk中分割符的问题??
  • awk脚本问题
  • 求教一个AWK问题
  • 关于awk -F的转义问题
  • super ssh awk三个命令组合的奇怪问题
  • awk和sed 的问题
  • ### shell awk 参数问题!! --- 急啊 ----
  • 操作系统 iis7站长之家
  • 急问!!!提一个shell问题(awk)
  • awk里可以嵌套awk吗?
  • 怎样让awk输出到中途退出awk?
  • 运行awk脚本文件碰到:-bash:student_tot.awk:command not found
  • awk能改变变量的值么?
  • awk程序中使用shell的变量
  • 新手请教一段AWK代码,报错。
  • awk如何删除一个文件?
  • awk在shell script中
  • awk 匹配字符串
  • awk参数中文件名是变量的情况
  • awk中如何带入变量


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3