2013-05-23 3 views
2

У меня есть набор данных, как показано нижеизвлечения данных из файла с AWK

first 0 1 
first 1 2 
first 2 3 
second 0 1 
second 1 2 
second 2 3 
third 0 1 
third 1 2 
third 2 3 

Мне нужно, чтобы проверить этот файл и извлечь третий столбцы для первого, второго и третьего и хранить их в разных файлах.

Выходные файлы должны содержать:

1 
2 
3 

ответ

9

Это довольно прямо вперед awk '{print $3>$1}' fileт.е. печать третьего поля и перенаправить вывод в файл, где имя файла является первым полем.

Демо:

$ ls 
file 

$ awk '{print $3>$1}' file 

$ ls 
file first second third 

$ cat first 
1 
2 
3 

$ cat second 
1 
2 
3 

$ cat third 
1 
2 
3 
+0

У меня есть этот набор данных в виде файла. как я могу открыть файл и извлечь эти значения. Мне нужно сделать все как файл bash. –

+0

Вы прочитали мой ответ? Я делаю то, что вы спросили, что значит открыть файл, использовать редактор ('emacs',' vi', 'nano', ect) или' cat' it .. что вы хотите сделать? Нет такой вещи, как файл 'bash', что вы имеете в виду? –

+0

+1 короткий и точный! @alibalador sudo_O awk-oneliner просто делает то, что вы хотите, если в вашем файле не слишком много блоков «первый/второй ..». PLS проверить его в первую очередь. – Kent

Смежные вопросы