Вы можете использовать сценарий оболочки для создания необходимых -o
параметров и сортировки данных ваших входных файлов.
Это предполагает, что второе поле MD
присутствует в обоих входных файлах и печатается только один раз в выходных данных (, пропущенных в опциях для второго файла ).
#!/bin/bash
opts="0,"
# file1: get number of columms - 1 from the first line
numcols=$(awk -F',' '(NR==1) {print NF-1}' "$1")
# file1: add options
for i in $(seq "$numcols"); do
opts+=$(printf '1.%s,' "$((i+1))")
done
# file2: get number of columms - 2 from the first line
numcols=$(awk -F',' '(NR==1) {print NF-2}' "$2")
# file2: add options
for i in $(seq "$numcols"); do
opts+=$(printf '2.%s,' "$((i+2))")
done
opts=${opts:0:-1} # remove the last `,`
join -t, --header -eNM -a1 -a2 -o "$opts"\
<(head -n1 "$1"; tail -n+2 "$1" | sort -nk1,1)\
<(head -n1 "$2"; tail -n+2 "$2" | sort -nk1,1)
Я добавил опцию --header
, чтобы рассматривать первую строку как строку заголовка. <(head -n1 "$1"; tail -n+2 "$1" | sort -nk1,1)
используется для печати строки заголовка и численной сортировки остальных строк по первому полю.
Сделать скрипт исполняемым
chmod +x join.sh
и запустите его как
./join.sh file1 file2
Доступно несколько инструментов.
Для такой работы strace -f '-e%file' firefox
подходит. Это не самый эффективный способ, поскольку для каждого системного вызова требуется несколько переключений контекста между ядром и пользовательским пространством.
Инструменты, которые делают это более эффективно, вместо этого записывают информацию в буферы в ядре, которые затем считываются. perf trace
может быть уже установлен в вашей системе. Большая часть мира трассировки переключается на использование ebpf . Хотя вы можете написать низкоуровневый код для использования ebpf, существуют инструменты высокого уровня для обработки многих распространенных случаев. tracee — новый инструмент. bpftrace более устоявшийся.
Если это расширение Firefox, удалите его.
Если это настоящая вредоносная программа, то есть двоичный файл, считайте, что ваша система скомпрометирована и не подлежит восстановлению, включая все ваши пароли. Переустановите с нуля, сбросьте все пароли.
Я бы также перепрошил прошивку EFI, чтобы быть уверенным.