Почему journalctl не отображает сообщение журнала, если я использую фильтрацию по единицам?

Все методы создания этого вывода будут дорогостоящими. Этот подход, однако, будет работать, даже если файл намного больше RAM:

$ while read n; do awk -v n="$n" '$1!=n{print n "," $1}' file; done <file
123212,234234
123212,12324
123212,1243223
123212,5453443
234234,123212
234234,12324
234234,1243223
234234,5453443
12324,123212
12324,234234
12324,1243223
12324,5453443
1243223,123212
1243223,234234
1243223,12324
1243223,5453443
5453443,123212
5453443,234234
5453443,12324
5453443,1243223

Записано в несколько строк

while read n
do
    awk -v n="$n" '$1!=n{print n "," $1}' file
done <file

read n читает числа из файла по одному. Для каждого n сценарий awk запускается для создания той части вывода, для которой n находится в первом столбце. Параметр -v n = "$ n" создает переменную awk с именем n , которая имеет то же значение, что и переменная оболочки n . Условие $ 1! = N выбирает те строки в файле , для которых номер в этой строке файла отличается от n . Для этих строк мы печатаем число n , за которым следует запятая, а затем номер в строке.

3
16.01.2018, 10:46
0 ответов

Теги

Похожие вопросы