38 lines
No EOL
1.4 KiB
Bash
Executable file
38 lines
No EOL
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Start the process.
|
|
echo "Consolidating..."
|
|
|
|
# Check for input:
|
|
# If the user provides any arguments, store those as the list of file extensions to look for.
|
|
# If no arguments are given, set a default list of extensions such as "txt", "sh", "md", and "csv".
|
|
|
|
# Prepare a temporary file:
|
|
# Create a temporary file that will hold patterns from the ".gitignore" file.
|
|
|
|
# Read the .gitignore file:
|
|
# If the ".gitignore" file is present, read it and pull out lines that are not comments or blank.
|
|
# Store these patterns in the temporary file.
|
|
|
|
# Create an output file:
|
|
# Get the current date and time, and create an output file named using this timestamp.
|
|
|
|
# Find files:
|
|
# Look for all files in the current directory and its subdirectories,
|
|
# excluding the ".gitignore" file itself.
|
|
# Filter these files based on the specified extensions.
|
|
# Exclude any files that appear to be binary.
|
|
# Exclude any files that match patterns listed in the ".gitignore".
|
|
|
|
# Process each file:
|
|
# For each file that matches the criteria:
|
|
# - Write a header to the output file that includes the filename.
|
|
# - Add the content of the file to the output file.
|
|
# - Finish with a closing code block marker.
|
|
|
|
# Clean up:
|
|
# Delete the temporary file holding the patterns from the ".gitignore".
|
|
|
|
# Complete the process:
|
|
# Inform the user that the operation is complete and let them know where the consolidated output has been saved.
|
|
echo "Consolidation complete! See your output file at: " |