Bash/R 在巨大的 table 中搜索列
Bash/R searching columns in a huge table
我有一个巨大的 table 我想从中提取信息。首先,我想根据模式提取特定行 -> 我已经用 grep 成功完成了。但是,这一行有很多列,我只对其中具有特定模式的几个列感兴趣(部分匹配 - 字符串的开头)。是否可以只提取某些部分匹配的列和列数(第 n 列)?希望我说得够清楚了。
语言:最好是 bash,但我也可以使用 R,或者如果您认为其他语言更有帮助,我愿意接受建议。
谢谢!
Awk 非常适合这样的事情。为了帮助您编写脚本,我认为我们需要更多详细信息。但我猜您会想要使用 awk
的打印功能。要打印出文件“your_file”的第 n 列,请执行:
awk '{print $n}' your_file
在解决您的问题时,您可能还想遍历所有 N 列,您可以通过以下方式执行此操作:
for i in {1..N} ;
do
awk -v col=${i} '{print $col}' your_file ;
done
我有一个巨大的 table 我想从中提取信息。首先,我想根据模式提取特定行 -> 我已经用 grep 成功完成了。但是,这一行有很多列,我只对其中具有特定模式的几个列感兴趣(部分匹配 - 字符串的开头)。是否可以只提取某些部分匹配的列和列数(第 n 列)?希望我说得够清楚了。
语言:最好是 bash,但我也可以使用 R,或者如果您认为其他语言更有帮助,我愿意接受建议。
谢谢!
Awk 非常适合这样的事情。为了帮助您编写脚本,我认为我们需要更多详细信息。但我猜您会想要使用 awk
的打印功能。要打印出文件“your_file”的第 n 列,请执行:
awk '{print $n}' your_file
在解决您的问题时,您可能还想遍历所有 N 列,您可以通过以下方式执行此操作:
for i in {1..N} ;
do
awk -v col=${i} '{print $col}' your_file ;
done