Возможно ли печатать различные строки в разные выходные файлы с помощью awk Я хочу печатать разные строки в разных выходных файлах с помощью awk, в зависимости от разных условий, например awk '{if($2>10) print > outfile1; else print > outfile2}' infile но этот script не работает как его изменить? спасибо! > Ответ 1 Вам нужно закрыть имена файлов в двойных кавычках: awk '{if($2>10) {print > "outfile1"} else {print > "outfile2"}}' infile Ответ 2 Попробуйте сделать это: awk '{if($2>10) print > "outfile1"; else print > "outfile2"}' infile Если вы опустите ", вы перенаправляетесь на (возможно, не существующие) переменные. В моем случае я перенаправляю файлы. Ответ 3 awk '{print > "outfile" ($2>10 ? 1 : 2)}' infile Ответ 4 Вы можете просто пережить это два раза вместо этого. cat infile | awk '{if($2>10) print}' > outfile; cat infile | awk '{if($2<=10) print}' > outfile2 Ответ 5 Обозначьте имена своих файлов в двойных кавычках, и вам хорошо идти.
Ответ 1 Вам нужно закрыть имена файлов в двойных кавычках: awk '{if($2>10) {print > "outfile1"} else {print > "outfile2"}}' infile
Ответ 2 Попробуйте сделать это: awk '{if($2>10) print > "outfile1"; else print > "outfile2"}' infile Если вы опустите ", вы перенаправляетесь на (возможно, не существующие) переменные. В моем случае я перенаправляю файлы.
Ответ 4 Вы можете просто пережить это два раза вместо этого. cat infile | awk '{if($2>10) print}' > outfile; cat infile | awk '{if($2<=10) print}' > outfile2