加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式和.csv格式的定位项目

发布时间:2020-12-14 05:48:53 所属栏目:百科 来源:网络整理
导读:这就是我需要解决的问题: 给下面的一组字母有一个.csv文件的标题:H,A,D,E,R,T,Y,B,D 我需要处理一组字母,让它们放在合适的位置: 例如,给出以下字母组:E,Y或B,D或T,D或H,R等. 每封信都有自己的固定位置 例如:“H”始终是该行的第一个字母,“A”是第二个,
这就是我需要解决的问题:

给下面的一组字母有一个.csv文件的标题:H,A,D,E,R,T,Y,B,D

我需要处理一组字母,让它们放在合适的位置:
例如,给出以下字母组:E,Y或B,D或T,D或H,R等.

每封信都有自己的固定位置
例如:“H”始终是该行的第一个字母,“A”是第二个,等等……
我需要用逗号分隔并保持正确的位置来定位一组字母

前一组字母ERTY我会有:,
对于HADER我会有H,

我的第一次尝试是计算丢失逗号的数量.例如:

echo "E,Y" | sed 's/[^,]//g' | awk '{ print length }' | xargs -n 1 bash -c 'echo $((9-$1))' args`

现在我正在尝试将缺少的逗号添加到正确的位置.但我陷入了这一步.

解决方法

以下awk脚本应该工作:

s='H,D'

awk -v p='HADER' -F,'NR==1{for (i=1; i<=NF; i++) 
 {printf "%s%s",index(p,$i)?$i:"",(i<NF)?OFS:RS; sub($i,"",p)} print ""}' OFS=,<<<"$s"
H,awk -v p='ERTY' -F,'NR==1{for (i=1; i<=NF; i++)
 {printf "%s%s",<<<"$s",

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读