Настройка GoodByeDPI для разных регионов 和 провайдеров
2024 年 9 月 14 日Библиотека RRC для управления запросами и кэшем на базе Redux: [лучшая] алтпенаизе Redux: [лучшая] алтенаии
2024 年 9 月 14 日客製化系統
Как известно, у больших языковых моделей (LLM) существуют огратни о вставить вес исходный текст, весь исходный текст, итоо хофайлов днокст, итоо хофайлов днокст, итоо хост。
В связи с этим я разработал скрипт, который минимизирует исходныйвц собрать все или выбранные файлы проекта в одном месте。
Для использования просто запустите скрипт в директории вашегосроектаофо готовый я использованн
Перед запуском скрипта отредактируйте следующие массивы в соответсоис 副檔名、массивы в соответсоис 副檔名、commentssearch、comments.com
Rust 的例子(включение всех файлов *.rs в out.txt):
folders_to_ignore=("target" ".git" ".github" ".gitignore" ".idea" ) # Folders to ignoreextensions_to_search=( "rs" ) # File extensions to search forfilenames_to_search=("Cargo.toml") # Filenames to search forcomment_chars=("#" "//" "/*") # Characters that denote commentsstop_words=("#[cfg(test)]") # Stop words after which to ignore the remaining lines in the file
Rust 的範例(включение только определенных файлов в out.txt):
folders_to_ignore=("target" ".git" ".github" ".gitignore" ".idea" ) # Folders to ignoreextensions_to_search=( ) # File extensions to search forfilenames_to_search=("Cargo.toml" "lib.rs" "core.rs") # Filenames to search forcomment_chars=("#" "//" "/*") # Characters that denote commentsstop_words=("#[cfg(test)]") # Stop words after which to ignore the remaining lines in the file
Bash-версия скрипта:
#!/bin/bash# Remove existing out.txt if it existsrm -f out.txt# Arraysfolders_to_ignore=("target" ".git" ".github" ".gitignore" ".idea" ) # Folders to ignoreextensions_to_search=( "rs" ) # File extensions to search forfilenames_to_search=("Cargo.toml" "core.rs" "text.rs" "json.rs") # Filenames to search forcomment_chars=("#" "//" "/*") # Characters that denote commentsstop_words=("#[cfg(test)]") # Stop words after which to ignore the remaining lines in the file# Build the 'find' command# Start with the basic 'find' commandfind_cmd="find ."# Add folders to ignoreif [ ${#folders_to_ignore[@]} -gt 0 ]; then ignore_dir_expr="" for dir in "${folders_to_ignore[@]}"; do if [ -n "$ignore_dir_expr" ]; then ignore_dir_expr+=" -o " fi ignore_dir_expr+="-path './$dir' -prune" done find_cmd+=" \( $ignore_dir_expr \) -o"fi# Add conditions to search for filesfind_cmd+=" \( "name_patterns=()# Add file extensionsfor ext in "${extensions_to_search[@]}"; do name_patterns+=("-name '*.$ext'")done# Add filenamesfor fname in "${filenames_to_search[@]}"; do name_patterns+=("-name '$fname'")done# Combine all patterns using -ofor ((i=0; i> out.txt stop=false # Process the file line by line while IFS=read -r line; do if [ "$stop"=true ]; then break fi # Remove tabs line="${line//$'t'/}" # Remove leading spaces line="${line#"${line%%[![:space:]]*}"}" # Remove trailing spaces line="${line%"${line##*[![:space:]]}"}" # Skip lines that are empty or contain only spaces if [[ -z "$line" ]]; then continue fi # Check for stop words for stop_word in "${stop_words[@]}"; do if [[ "$line"=="$stop_word" ]]; then stop=true break fi done if [ "$stop"=true ]; then break fi # Skip lines that are comments if [[ "$line"=~ ^($comment_pattern) ]]; then continue fi # Write the processed line to out.txt echo "$line">> out.txt done
PowerShell-應用程式:
# Remove existing out.txt if it existsif (Test-Path -Path "out.txt") { Remove-Item -Path "out.txt" -Force}# Define arrays# Folders and files to ignore during the search$foldersToIgnore=@("target", ".git", ".github", ".gitignore", ".idea")# File extensions to search for$extensionsToSearch=@("rs")# Specific filenames to search for$filenamesToSearch=@("Cargo.toml", "core.rs", "text.rs", "json.rs")# Characters that denote comments in the files$commentChars=@("#", "//", "/*")# Words that, when encountered, will stop processing the current file$stopWords=@("#[cfg(test)]")# Function to build file filtering based on provided criteriafunction Get-FilteredFiles { param ( [string[]]$IgnoreFolders, [string[]]$Extensions, [string[]]$Filenames ) # Build a regex pattern for ignored folders if ($IgnoreFolders.Count -gt 0) { $ignorePattern=($IgnoreFolders | ForEach-Object { [regex]::Escape($_) }) -join '|' } else { $ignorePattern="" } # Build a list of filters for extensions and filenames $nameFilters=@() foreach ($ext in $Extensions) { $nameFilters +="*.$ext" } foreach ($fname in $Filenames) { $nameFilters +=$fname } # Get all files with the specified extensions or filenames Get-ChildItem -Path . -Recurse -File -Include $nameFilters | Where-Object { if ($ignorePattern) { # Check if the full path contains any of the ignored folders -not ($_.FullName -match "\($ignorePattern)\") } else { $true } }}# Build a regex pattern for comments$escapedCommentChars=$commentChars | ForEach-Object { [regex]::Escape($_) }$commentPattern=$escapedCommentChars -join '|'# Get the list of files to process$files=Get-FilteredFiles -IgnoreFolders $foldersToIgnore -Extensions $extensionsToSearch -Filenames $filenamesToSearch# Process each fileforeach ($file in $files) { # Add file header to out.txt "`n#### $($file.FullName) ####" | Out-File -FilePath "out.txt" -Append -Encoding utf8 $stop=$false # Read the file line by line Get-Content -Path $file.FullName | ForEach-Object { if ($stop) { return } $line=$_ # Remove tabs $line=$line -replace "`t", "" # Trim leading and trailing spaces $line=$line.Trim() # Skip empty lines if ([string]::IsNullOrWhiteSpace($line)) { return } # Check for stop words foreach ($stopWord in $stopWords) { if ($line -eq $stopWord) { $stop=$true break } } if ($stop) { return } # Skip lines that are comments if ($line -match "^($commentPattern)") { return } # Write the processed line to out.txt $line | Out-File -FilePath "out.txt" -Append -Encoding utf8 }}
聚苯乙烯
Содержимое файла out.txt необходимо скопировать в буфер обмена вставитьпок фер ляйте айл out.txt к вопросу。 лекая иои файлы, з влекая ои етифайлы, звлекая ои енихое en: юме отвечает вопрос。 Другими словами, если вы вставите содержимов о содержимого файла out.txt。
Исходный код скриптов находится на GitHub,если у вас есть улучшения,то делайте pull request。