Нечеткая находка с использованием экспортированных контактов Google: уберите символ новой строки в двойных кавычках - PullRequest
0 голосов
/ 26 марта 2020

Имея немного времени, у меня есть пакетный скрипт WINDOWS для нечеткого поиска в моих экспортированных контактах Google. Выбранный формат экспорта - Google CSV - и неудивительно, что это не простая работа!

После исправления текущей директории мой скрипт обрабатывает начальный параметр для опции fzf.exe --query.

Затем мы передаем необработанный экспорт:

  • Используя cut и tr, чтобы выбрать несколько полезных полей.
  • Далее идет интерфейс fzf - блестящий!
  • Затем мы создаем список путем добавления новых строк
  • Наконец, мы копируем вывод, затем отображаем нумерованный список

Используя set, мы получаем ввод, проверяем число выше нуля и затем помещаем эту строку на буфер обмена.

@echo off
REM Change to current cmd directory where all the tools are
cd /D "%~dp0"

REM Find people in my text file - exported from Google contacts
REM Check %1 in not null
If [%1]==[] (
    set SEED=""
) ELSE (
    set SEED=%1
)

REM Run the fzf over a sanitized selection from contactsGoogle.csv (and store final result)
cut -d, -f 1,31,33,35,37,39,41,43,45,47,49 ..\ZLISTS\contactsGoogle.csv | tr -s "," ":" | tr -s " :" ":" | fzf.exe --reverse --query=%SEED% | tr ":" "\n" | tee xp.txt | cat -n

REM Ask for input
echo.
set /P "line=Select line to copy : "

REM Process resulting line number
if %line%=="0" goto End

REM Check for number
SET "var="&for /f "delims=0123456789" %%i in ("%line%") do set var=%%i
if defined var ( goto End ) else (
    sed -n %line%p xp.txt | tr -d '\n'| clip
)

:End

Q1. Как я могу заменить все символы новой строки в двойных кавычках, в экспортированном файле формата raw google csv, пробелами. Обратите внимание, что кавычки имеют только проблемные поля с символами новой строки. Также это WINDOWS, поэтому экранирование и цитирование команд в SED / AWK / GREP - это кошмар .

Q2. Как только я преодолею эту проблему - будет ли cut.exe видеть запятые в двойных кавычках?

Заранее большое спасибо

С уважением, Гэвин Холт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...