#windows #command-line #find
#Windows #командная строка #Найти
Вопрос:
Я пытаюсь обрезать текстовый файл, хотя я использовал следующую команду, но безуспешно:
FIND "word1" C:UsersUsernameDesktoptest.txt | IF EXIST "word1" (DEL "word1")
Синтаксис неверен, я пробовал много разных комбинаций, но безуспешно.
Комментарии:
1.
IF EXIST
иDEL
— это команды, которые работают с файлами, а не с текстом внутри файла.2. Это разочаровывает : (, интересно, есть ли альтернативный метод
3. Можете ли вы более четко описать, что вы хотите сделать? Данная (недопустимая) команда непонятна, по крайней мере, для меня. Вы пытаетесь удалить определенный фрагмент текста (например, «word1») из файла?
Ответ №1:
Если вы пытаетесь удалить определенный текст из файла, вы можете использовать sed (есть версии, доступные для Windows, такие как эта). Например, для удаления всех экземпляров «word1»:
sed -e "s/word1//g" inputfile > outputfile
Или если вы хотите удалить «word1» только тогда, когда он не встроен в другой текст:
sed -e "s/bword1b//g" inputfile > outputfile
Второй используется b
для указания границ слов. Обратите внимание, что в командной строке Windows вам необходимо заключить сценарий sed в двойные кавычки.