重新排列数据
Posted
技术标签:
【中文标题】重新排列数据【英文标题】:rearrange data 【发布时间】:2010-09-20 00:06:53 【问题描述】:如果我在文本文件中有一个由新行分隔的数据列表,有没有办法在开头附加一些内容,然后是数据,然后再附加其他内容?
EG 一个字段 X 会变成新的 X = X;
您可以使用 bash 或 sed 或仅使用诸如 cut 之类的 unix 工具来执行此操作吗?
编辑:
我正在尝试获取“ITEM_SITE_ID :$row['ITEM_SITE_ID'] ”。
我正在使用这一行 awk ' print "\""$1 " :$row['$1'] " '
我得到了这个“ITEM_SITE_ID :$row[]
我错过了什么?
【问题讨论】:
【参考方案1】:我认为问题在于您的单引号没有正确转义,这实际上是不可能的。
使用 sed:
sed "s/\(.*\)/\1 = \1;/"
或者在你的情况下:
sed "s/\(.*\)/\"\1 :\$row['\1']\"/"
还有 bash:
while read line
do
echo "\"$line :\$row['$line']\""
done
实际上你可以在 awk 中使用 bashes $'' 字符串来做到这一点:
awk $' print "\\"" $1 " :$row[\'" $1 "\']\\"" '
【讨论】:
【参考方案2】:Awk 通常是完成此类任务的完美工具。对于您的具体示例:
awk ' print "new " $1 " = " $1 ";" '
【讨论】:
以上是关于重新排列数据的主要内容,如果未能解决你的问题,请参考以下文章