Parsing 在命令行中创建每行具有uniques字符串的文件
我正在尝试创建一个文件(使用AWK,但如果另一个命令更简单,请不要介意切换),该文件的每一行中都有一个唯一的字符串(总共183745行)。我正在尝试创建这样一个文件:Parsing 在命令行中创建每行具有uniques字符串的文件,parsing,unix,awk,Parsing,Unix,Awk,我正在尝试创建一个文件(使用AWK,但如果另一个命令更简单,请不要介意切换),该文件的每一行中都有一个唯一的字符串(总共183745行)。我正在尝试创建这样一个文件: line1 line2 line3 .... line183745 由于对AWK了解不足,并且找不到类似的示例,我尝试了失败(本例中有10行): awk'{i=1;而(i
line1
line2
line3
....
line183745
由于对AWK了解不足,并且找不到类似的示例,我尝试了失败(本例中有10行):
awk'{i=1;而(i<10){print“line$i\n”};i++}'
这不会导致错误或输出。谢谢。
awk
默认情况下就像一个过滤器。在您的情况下,它只是阻塞输入。例如,通过显式不包含输入来取消阻止它
awk '...' </dev/null
awk'…'您需要将其放入BEGIN块中,因为您没有处理任何输入行
awk 'BEGIN { i = 1 ; while (i <= 10) { print "line"i ; i++ } }'
awk'BEGIN{i=1;而(i为什么要把它复杂化
seq -f "line%06g" 3
line000001
line000002
line000003
如果我这样做,我将使用seq
或在vim
中执行
但是,由于其他人已经发布了seq
和经典awk
解决方案,我想添加另一个awk
解决方案来增加乐趣
一个非常“有用”的命令可以帮助我们:
awk '$0="line"NR;NR==183745{exit}'
使用1-10进行测试,例如:
kent$ yes|awk '$0="line"NR;NR==10{exit}'
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10
awk '$0="line"NR;NR==183745{exit}'
kent$ yes|awk '$0="line"NR;NR==10{exit}'
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10