我有这样的文件(InFile.txt):
TOM1 LE1 1
TOM1 LE2 1
TOM1 LE1 2
TOM3 LE2 2
TOM1 LE3 3
输出将是三个标记为 1.txt , 2.txt 和 3.txt 的新文件,这些文件是从基于第3列中的值的原始文件。
的1.txt
TOM1 LE1 1
TOM1 LE2 1
2.txt
TOM1 LE1 2
TOM3 LE2 2
3.txt
TOM1 LE3 3
我一直在尝试按照以下方式执行此操作,但在使用我的语法
时遇到了困难awk '{ i = 1; {while (i < 100); if($3 == i) print $1 " " $2 " " $3; InFile.txt > $i.txt} i++}' InFile.txt
答案 0 :(得分:1)
您可以使用此awk
,
awk '{ filename=$3 ".txt"; print $0 >> filename}' yourfile
<强>解释强>
$3 ".txt"
- 使用$3
值形成文件名。print $0 >> filename
- 将当前行($0
)附加到相应的行
文件名。