я ищу текстовый редактор, к которому я могу получить доступ от браузера на другом сервере

Существует множество способов оптимизации (например, создать regex из содержимого Delete_Name.txt и использовать -find -iregex, а не -name, чтобы запустить find только один раз, а не по одному разу на строку в Delete_Name. txt), но очевидная ошибка заключается в том, что $file, похоже, нигде не определен - вы читаете вывод awk в $line, а не в $file.

Может быть, попробуйте что-то вроде этого:

awk '/SOURCE/ {print $3}' /MAC/Delete_Name.txt | 
while IFS= read -r file; do 
    find /OS/ -iname "$file.pdf"
done | sed -e 's:[^/]*$/::'

(это может быть все в одной строке, я просто разбил это на несколько строк для удобства чтения и чтобы избежать горизонтальных полос прокрутки на этом сайте)

Помимо исправления упомянутой ошибки, я установил IFS= и использовал опцию -r в while read, которая будет читать всю строку за раз (даже если строка содержит пробелы или табуляцию) и присваивать всю строку в $file.

Следующая версия find -regex запускает find только один раз, независимо от того, сколько файлов перечислено в /MAC/Delete_Name.txt. Для этого требуется GNU или FreeBSD версия find для опции -iregex.

regexp=$(awk '/SOURCE/ {print $3}' /MAC/Delete_Name.txt  | 
         sed -n -e '1,$H; ${ g; s/\n/\\|/g ; s/^\\|//p}')

find /OS/ -iregex ".*\($regexp\)\.pdf$" | sed -e 's:[^/]*$/::'

Предупреждение: если в /MAC/Delete_Name.txt много файлов, построенный regexp будет слишком большим, чтобы уместиться в одной командной строке, и команда find завершится неудачей. В зависимости от оболочки, ОС и их версий, ограничение может составлять несколько тысяч символов в командной строке оболочки.

1
28.11.2017, 18:02
1 ответ

У меня аналогичная настройка и проблема. Я только начал использовать sshcode , который позволяет вам «запускать VS Code на любом сервере через SSH» и, похоже, отвечает всем требованиям. Он запускает VS Code на удаленном сервере и предоставляет вам полноценную IDE в Chrome на вашем локальном компьютере.

1
27.01.2020, 23:44

Теги

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