gpt4 book ai didi

loops - awk 拆分更多列并打印第一个单词

转载 作者:行者123 更新时间:2023-12-04 14:29:46 26 4
gpt4 key购买 nike

我有逗号分隔的文件,我想以相同的拆分条件将第 15 列拆分为 $NF(第 15 列到最后一列)split($column,a,"-")并为每个拆分的列打印 a[1] .我不能循环从第 n 列到最后一列并为每个列打印。

awk -F',' -v OFS="\t" '{for(i;$15<i<$NF,i+1);split($i,a,"_"); print ???}' file.csv
文件打印表格第 15 列的示例:
NBPF1-chr1-16579269-16579502-MedEx,NBPF1-chr1-16580779-16580863-MedEx,NBPF1-chr1-16581333-16581592-MedEx,NBPF1-chr1-16582457-16582758-MedEx,NBPF1-chr1-16583499-16583796-MedEx
我的期望:
NBPF1,NBPF1,NBPF1,NBPF1,NBPF1,NBPF1
谢谢你。

最佳答案

使用您展示的 sample ,请尝试关注 awk代码。更改 i=15或者任何你想从哪里开始循环直到当前行的最后一个字段的字段 awk代码。

awk '
BEGIN{
FS=OFS=","
}
{
value=""
for(i=1;i<=NF;i++){
split($i, a, /-/)
value=(value?value OFS:"")a[1]
}
print value
}
' Input_file

关于loops - awk 拆分更多列并打印第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68486310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com