Linux下生成含固定列、序列列及循环列的文本文件
生成指定格式的三列文本文件的方法
这里提供两种实用的Shell脚本方案,帮你快速生成符合要求的文本文件:
方法一:Bash原生循环实现
适合需要后续扩展自定义逻辑的场景,直观易懂:
#!/bin/bash # 替换成你需要的固定名称 FIXED_NAME="my_fixed_value" # 定义循环使用的字符数组 CYCLE_CHARS=("a" "b" "c" "d" "e") # 遍历1到100的序列 for num in $(seq 1 100); do # 通过模运算计算当前要取的字符索引(从0开始) char_idx=$(( (num - 1) % 5 )) # 输出三列内容并追加到文件 echo "$FIXED_NAME $num ${CYCLE_CHARS[$char_idx]}" >> result.txt done
执行前把my_fixed_value替换成你实际需要的固定名称,运行后就会生成result.txt文件。
方法二:Seq + Awk 一行命令搞定
如果追求简洁高效,用awk处理seq输出更便捷:
# 替换your_fixed_name为实际固定名称 seq 1 100 | awk -v fixed="your_fixed_name" 'BEGIN{split("a b c d e", chars)} {print fixed, $1, chars[(NR-1)%5+1]}' > result.txt
原理:awk通过NR(当前行号)计算循环字符的位置,(NR-1)%5+1确保索引落在1-5区间,对应预定义的a-e字符数组。
内容的提问来源于stack exchange,提问作者Diogo
相关产品推荐
相关产品推荐

