Я перепробовал немало вариантов, но безуспешно. Я действительно хотел бы сделать это как командный файл, но мои попытки не дают желаемого результата.

Я пробовал много разных команд с помощью findstr но кажется, что все записано одной большой строкой, и иногда персонажи выглядят странно.

Одна из моих неудачных попыток

findstr /i /n "\<JH*\>" c:\Users\Desktop\split\file.txt > JH.tx

Мне нужно найти все записи в одном файле .csv который начинается с " JH ", и сохранить только те в новый файл .csv .

Пример файла CSV для поиска

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf 
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

Ожидаемый результат в новом выходном CSV-файле

JH009,20,John May.pdf 
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf

1 ответ1

0

Вы можете использовать команду Findstr с ключом /B чтобы указать ей соответствие шаблону в начале строк в файле, который вы ищете. Если шаблон не должен быть чувствительным к регистру, то используйте ключ /I или просто пропустите его в команде для совпадения шаблона с учетом регистра в строке.

Синтаксис

FindStr /I /B "JH" "c:\Users\Desktop\split\file.txt" > "JH.csv"

Поиск файла

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

Вывод команды FindStr

JH009,20,John May.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf

Дополнительные ресурсы

  • Findstr

  • FindStr /?

    /B         Matches pattern if at the beginning of a line.   
    /I         Specifies that the search is not to be case-sensitive.
    

    Example: FindStr /I /B "<String>" "<FileToSearch>" > "<OutputFile>" 
    
  • Перенаправление

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .