我有一个.txt,即100,000行(观察),50列(变量),变量是|分隔。我想提取第8和第9个变量(如果索引从0开始,则为7和8)。在这样做的时候,我想用2列(这2个变量)创建一个100,000行(相同的观察值)的新.txt,其中这两个变量保持不变。分隔。
例如,一行中的数据格式为:
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
然而,这个输出只是一种胡言乱语。
非常感谢任何帮助!
答案 0 :(得分:2)
-F
的参数被编译成正则表达式,而|
是正则表达式中的特殊字符。要使用文字|
char,您需要在命令行中对其进行转义。
其中一个
perl -F\\\| -wlape ...
perl -F'\|' -wlape ...
在Unix上做的伎俩。