Flash больше не требуется, если вы используете Firefox или Chromium. (Это не совсем так, как на момент написания этой статьи, но просто для того, чтобы быть ясным)
Однако, недавно, выпустив Chromium и приземлившись на странице Pandora, он попросил меня установить Flash. (Huh ?!) Зная, что Pandora некоторое время поддерживает интерфейс воспроизведения HTML5 sans Flash [как я обычно пользуюсь этой версией через Firefox с большим успехом], я сделал следующие шаги:
расширение коммутатора агента, измененное на профиль для «Firefox on Ubuntu», перезагрузило страницу Pandora & amp; войдите в систему, когда музыка начинает воспроизводиться с измененного пользовательского агента до значения по умолчанию, Pandora продолжает игратьFWIW, альтернатива командной строки также доступна для прослушивания Pandora под названием pianobar
Возможно, вы сможете сделать это с помощью join, если вы объедините первые два поля в один ключ, заменив разделитель запятой символом, который, как вы можете быть уверенным, не появится в ваших данных. Обратите внимание: поскольку join требует, чтобы данные были отсортированы в поле объединения, это будет работать, только если это не изменит лексический порядок данных.
Например:
Возможно, вы сможете сделать это с помощью join, если вы объедините первые два поля в один ключ, заменив разделитель запятой символом, который, как вы можете быть уверенным, не появится в ваших данных. Обратите внимание: поскольку join требует, чтобы данные были отсортированы в поле объединения, это будет работать, только если это не изменит лексический порядок данных.
Например:
$ join -t, -a1 -a2 -e0 -o0,1.2,2.2 <(sed 's/,/;/' file1) <(sed 's/,/;/' file2) | sed 's/;/,/'
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11
Возможно, вы сможете сделать это с помощью join, если вы объедините первые два поля в один ключ, заменив разделитель запятой символом, который, как вы можете быть уверенным, не появится в ваших данных. Обратите внимание: поскольку join требует, чтобы данные были отсортированы в поле объединения, это будет работать, только если это не изменит лексический порядок данных.
Например:
$ join -t, -a1 -a2 -e0 -o0,1.2,2.2 <(sed 's/,/;/' file1) <(sed 's/,/;/' file2) | sed 's/;/,/'
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11
Использование awk и сортировки:
awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
-F, -v OFS=, - установите, что вход и выход будут разделены , {x = $1 "," $2}, сохраните первые два поля, разделенные ,, так как комбинация является общим индексом. FNR == NR {a[x] = $3; b[x] = 0; next} - FNR - номер записи для каждого файла, а NR - общий номер записи в файлах. Они равны для первого файла, поэтому этот блок запускается только для первого файла. Здесь я сохраняю третий столбец первого файла в массиве a и инициализирую соответствующую запись в b равным 0. И затем я перехожу к следующей записи. {b[x] = $3} !a[x] {a[x] = 0} - эти два запускаются для второго файла, сохраняя третий столбец в b, и если в a нет соответствующей записи, установите ее в 0. END {for (i in a) print i, a[i], b[i]}, в конце обоих файлов напечатайте каждая запись, полученная до сих пор Так как цикл по массивам в awk дает случайный порядок, нам нужно отсортировать вывод в конце с помощью sort -n:
$ awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11
Использование awk и сортировки:
awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
-F, -v OFS=, - установите, что вход и выход будут разделены , {x = $1 "," $2}, сохраните первые два поля, разделенные ,, так как комбинация является общим индексом. FNR == NR {a[x] = $3; b[x] = 0; next} - FNR - номер записи для каждого файла, а NR - общий номер записи в файлах. Они равны для первого файла, поэтому этот блок запускается только для первого файла. Здесь я сохраняю третий столбец первого файла в массиве a и инициализирую соответствующую запись в b равным 0. И затем я перехожу к следующей записи. {b[x] = $3} !a[x] {a[x] = 0} - эти два запускаются для второго файла, сохраняя третий столбец в b, и если в a нет соответствующей записи, установите ее в 0. END {for (i in a) print i, a[i], b[i]}, в конце обоих файлов напечатайте каждая запись, полученная до сих пор Так как цикл по массивам в awk дает случайный порядок, нам нужно отсортировать вывод в конце с помощью sort -n:
$ awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11
Использование awk и сортировки:
awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
-F, -v OFS=, - установите, что вход и выход будут разделены , {x = $1 "," $2}, сохраните первые два поля, разделенные ,, так как комбинация является общим индексом. FNR == NR {a[x] = $3; b[x] = 0; next} - FNR - номер записи для каждого файла, а NR - общий номер записи в файлах. Они равны для первого файла, поэтому этот блок запускается только для первого файла. Здесь я сохраняю третий столбец первого файла в массиве a и инициализирую соответствующую запись в b равным 0. И затем я перехожу к следующей записи. {b[x] = $3} !a[x] {a[x] = 0} - эти два запускаются для второго файла, сохраняя третий столбец в b, и если в a нет соответствующей записи, установите ее в 0. END {for (i in a) print i, a[i], b[i]}, в конце обоих файлов напечатайте каждая запись, полученная до сих пор Так как цикл по массивам в awk дает случайный порядок, нам нужно отсортировать вывод в конце с помощью sort -n:
$ awk -F, -v OFS=, '{x = $1 "," $2} FNR == NR {a[x] = $3; b[x] = 0; next} {b[x] = $3} !a[x] {a[x] = 0} END {for (i in a) print i, a[i], b[i]}' f1 f2 | sort -n
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11