Найти строку в начале всех строк в файле и сохранить в другой файл

Найти строку в начале всех строк в файле и сохранить в другой файл

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

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

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

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

Мне нужно найти все записи в одном .csvфайле, которые начинаются с "ДжХ" и сохранить только их в новом .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

Вы можете использовать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>" 
    
  • Перенаправление

Связанный контент