我有一个带有标题的制表符分隔的数据文件。我想拆分该标题并将其存储在另一个文件中,并带有相应的序列和文件编号。
这是原始文件名:
AllResponses_11003_6_7_20132_17_33AM1.txt
这是它包含的信息(第一行是标题):
"ID" "NAME" "LOCAL PLACE" "CONTACT NUM"
a1 bala pal kak
ba1 kri kap ute
这是我想获得的输出,也是制表符分隔的:
seq_num file_num header_nm
1 11003 ID
2 11003 NAME
3 11003 LOCAL PLACE
4 11003 CONTACT NUM
任何帮助,将不胜感激。
我尝试了以下
#!/bin/ksh
export INFAHOME=/informat/PowerCenter/9.1.0/server/infa_shared
export SRCDIR=${INFAHOME}/SrcFiles/CSI/INCOMING
export filename=${SRCDIR}/AllResponses_11003_6_7_20132_17_33AM1.txt
export filenum=$(echo $filename | tr -dc 0-9 |cut -c 1-5)
echo seq_num file_num hname
cnt=1
for h in $(head -1 "$filename" )
do
echo $cnt $filenum $h cnt=$((cnt+1))
done
它是逐字逐句而不是对定界符
这是我在您的帮助下使用 awk 构建的代码,但无法正常工作。请帮忙。
#!/bin/ksh
export INFAHOME=/informat/PowerCenter/9.1.0/server/infa_shared
export SRCDIR=${INFAHOME}/SrcFiles/CSI/INCOMING
export file=${SRCDIR}/AllResponses_11003_6_7_20132_17_33AM1.txt
export file1=AllResponses_11003_6_7_20132_17_33AM1.txt
export name=$(echo $file1 | cut -d_ -f2) #gets 11003
$ awk -v file=$name -F"\t" 'BEGIN{print "seq_num\tfile_num\theader_nm"} NR==1 {for (i=1`enter code here`;i<=NF;i++) {print i"\t"file,"\t"$i}}' $file
低于错误。请帮忙
- file=11003 '-F\t' 'BEGIN{print "seq_num\tfile_num\theader_nm"} NR==1 {for (i=1;i<=NF;i++) {print i"\t"file,"\ t"$i}}' /informat/PowerCenter/9.1.0/server/infa_shared/SrcFiles/CSI/INCOMING/AllResponses_11003_6_7_20132_17_33AM1.txt CSI_SURVEY_FILE_CREA.ksh:第 7 行:v 未找到
嗨,我需要多一点帮助...我需要动态传递文件名,并且每个文件都需要创建单独的输出文件。请帮忙。