+ -
当前位置:首页 → 问答吧 → ksh 分割记录到数组 包含空格

ksh 分割记录到数组 包含空格

时间:2011-06-28

来源:互联网

在文件中,有一行记录类似于:
Header|this is the content|END

如果使用 Set -A column $(echo $line|tr '|' ' '|tr -s ' ')
那么得到的是:
Header
this
is
the
content
END

但是我想要得到的是:
Header
this is the content
END

请问一下有什么办法吗? 谢谢~

作者: showmetwo   发布时间: 2011-06-28

回复 showmetwo


    这?
echo $line|tr '|' ' \n'

作者: yinyuemi   发布时间: 2011-06-28

你好 你这个达不到要求吧
需要得到HEADER和END之间的字符串是连续的

作者: showmetwo   发布时间: 2011-06-28

回复 showmetwo


    你是这个意思么?
  1. echo 'Header|this is the content|END
  2. Header|this is the content|ENDdg' |\
  3. while read line
  4. do
  5.    var="$(echo $line|tr '|' '\n')"
  6.    echo -e "\$var:\n$var"
  7.    echo "-----"
  8. done

  9. $var:
  10. Header
  11. this is the content
  12. END
  13. -----
  14. $var:
  15. Header
  16. this is the content
  17. ENDdg
  18. -----
复制代码

作者: yinyuemi   发布时间: 2011-06-28