如何通过编程将隔条记录移至对应行与列的正确位置
实现隔条记录合并至同行的编程方案
针对你给出的文本格式转换需求,以下是几种常用的实现方案:
Python 实现
通过读取文本内容后按两两分组的方式合并行:
# 从文件读取输入(也可替换为从标准输入读取) with open('input.txt', 'r') as f: # 过滤空行并去除每行首尾空白 lines = [line.strip() for line in f if line.strip()] # 每两行合并为一行,用制表符分隔 for idx in range(0, len(lines), 2): if idx + 1 < len(lines): print(f"{lines[idx]}\t{lines[idx+1]}")
Shell 脚本(paste 命令)
利用系统自带的paste命令可以快速完成转换,这是处理此类文本格式最简洁的方式:
# 将输入文件的内容按两行一组合并,默认用制表符分隔 paste - - < input.txt
如果需要自定义分隔符(比如空格),可以用-d参数指定:
paste -d ' ' - - < input.txt
Awk 实现
用Awk脚本处理,通过判断行号奇偶性来合并内容:
# 奇数行存储内容,偶数行与前一行拼接输出 NR % 2 == 1 { prev_line = $0 } NR % 2 == 0 { print prev_line "\t" $0 }
执行方式:
awk -f merge_lines.awk input.txt # 或直接一行命令 awk 'NR%2==1{prev=$0}NR%2==0{print prev"\t"$0}' input.txt
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

