Обмен файлами между Debian и Windows 10

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

#!/bin/bash
# Make a list of the unique identifiers in each of the files, changing the whitespace in between into a comma.
awk '{print $1 "," $2}' File1 File2| sort | uniq |
# Loop through all the unique identifiers we just found
while read l; do
    # Create a regular expression for each identifier to use as
    #  a search term, changing the comma into "any number of whitespaces"
    searchterm=$(echo $l | sed 's/,/\\\s*/')
    # if this pattern exists in File1
    if $(grep -E "$searchterm" File1 >& /dev/null); then
        # print it out
        grep -E "$searchterm" File1
    else
        # otherwise, print it if it's in File2
        grep -E "$searchterm" File2
    fi
done 

Если вы хотите File3, вы можете сохранить его как скрипт и отправить туда вывод

#copy to merge_uniq.sh
chmod +x merge_uniq.sh
merge_uniq.sh > File3
0
17.02.2019, 12:30
1 ответ

Итак, насколько мне известно, netcatне может использовать HTTPS, но в вашем коде вы подключались к порту 80, что означает HTTP, а не HTTPS.

После GETнужно добавить относительный адрес, а не полный.

Что-то вроде этого будет работать:

echo -e "GET /files/ProcessExplorer.zip HTTP/1.1\r\nHost: download.sysinternals.com\r\n\r\n" | nc download.sysinternals.com 80 > q.temp

Он не закроется после завершения передачи, вам придется закрыть его вручную.

На этом этапе в файл q.tempтакже включен HTTP-заголовок, его необходимо удалить. Вы можете проверить номер строки, где двоичное содержимое начинается с:

nl q.temp | less

В этом случае двоичное содержимое начинается со строки 16, поэтому вы можете удалить заголовок с помощью:

tail -n +16 q.temp > q.zip

А вот и ваш zip-файл!

3
28.01.2020, 02:22

Теги

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