这就是我需要解决的问题:
给下面的一组字母有一个.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",