1

我有一个 .txt,即 100,000 行(观察)乘 50 列(变量),变量是 | 划定的。我想提取第 8 个和第 9 个变量(如果索引从 0 开始,则为 7 和 8)。这样做时,我想创建一个新的 .txt,它是 100,000 行(相同的观察值)乘 2 列(这 2 个变量),其中保留了这 2 个变量 | 划定的。

例如,一行中的数据格式为:

var1|var2|var3|var4|var5|var6|var7|var8|var9|var10|var11 .........

我想创建一个 .txt ,此行为:

 var7|var8

我试过了:

 $ perl -wplaF'|' -e'$_ = join "|", @F[7, 8]' fileoriginal.txt > filenew.txt

然而,这个输出只是一种胡言乱语。

任何帮助将不胜感激!

4

1 回答 1

2

to 参数-F被编译成正则表达式,|是正则表达式中的特殊字符。要使用文字|字符,您需要在命令行上对其进行转义。

之一

perl -F\\\| -wlape ...
perl -F'\|' -wlape ...

在 Unix 上成功了。

于 2013-05-03T22:39:29.380 回答