我有几个以字符串“file”开头的文件,然后是一个数字(file1,file2等)。
这些文件的内容类似,看起来像这样
for (int i = 0; i < students.size(); i++){
students.get(i) // now you can do whatever you want with the i'th student
}
对于每个文件,我只想保留元素的索引和坐标后面的2个数字字段(在同一个文件或另一个文件中):
文件1:
file1:
$xx_ at 10.0 "$elt_(0) coordinates 636.46 1800.37 9.90"
$xx_ at 10.0 "$elt_(1) coordinates 367.78 1263.63 7.90"
我试图做的就是这样(但这不正确)
0 636.46 1800.37
1 367.78 1263.63
答案 0 :(得分:1)
这是awk的完美用法。 使用awk,您只需打印特定的单词即可。
如果索引是行号,您可以使用:
cat -n ./file1 | awk '{print $1 -1 " " $7 " " $8}'
这只是用行号打印文件并打印第一,第七和第八个单词。
如果索引是括号中的$elt_(0)
号,您可以像这样使用sed:
cat ./file1 | awk '{print $4 " " $7 " " $8}' | sed 's/"$elt_(//g' | sed 's/)//g' | sed 's/"//g'
输出:
1 636.46 1800.37
2 367.78 1263.63