现有文件test
如下所示:
预期转换为如下所示:
则可以通过以下命令实现:
#逐行读取test文件 while IFS= read -r line do need1=`echo "$line" | awk '{print $1"\t"$2"\t"$3"\t"$4"\t"$5}'` #提取每行的第一列到第五列 need2=`echo "$line" | awk '{print $6}' | tr "," "\n"` #提取每行的第六列并转为多行 num=`echo "$need2" | wc | awk '{print $1}'` #统计need2变量共有多少行 need3=`for (( c=1; c<=num; c++)) ; do echo "$need1" ; done` #重复打印need1变量num次 echo "$need3" >> file1 echo "$need2" >> file2 done < test paste file1 file2 > file3 #合并