Text Manipulation Tricks
Advanced Text Processing Techniques
1. Powerful Regular Expressions
Regular expressions (regex) are essential for complex text manipulation.
## Extract email addresses
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' contacts.txt
## Validate phone numbers
grep -P '^\+?[1-9][0-9]{7,14}$' phone_list.txt
2. Stream Editing Techniques
graph LR
A[Input Text] --> B[Transformation]
B --> C[Output Text]
C --> D[Further Processing]
Inline File Editing
## Replace text in-place
sed -i 's/old_value/new_value/g' file.txt
## Delete specific lines
sed -i '/pattern/d' file.txt
3. Advanced Text Transformation
| Technique | Command | Example |
| ----------------- | ------- | --------------- | -------- |
| Sort Text | sort | sort file.txt
|
| Remove Duplicates | uniq | sort file.txt | uniq
|
| Count Occurrences | uniq -c | sort file.txt | uniq -c
|
4. Complex Text Processing Pipelines
## Extract, transform, and analyze log data
cat system.log \
| grep "ERROR" \
| awk '{print $4}' \
| sort \
| uniq -c \
| sort -rn
Text Manipulation Strategies
Filtering Techniques
## Filter lines containing specific patterns
grep "critical" log.txt
## Exclude lines matching a pattern
grep -v "debug" log.txt
## Case-insensitive filtering
grep -i "warning" log.txt
## Extract specific columns
awk -F':' '{print $1}' /etc/passwd
## Complex field extraction
cut -d',' -f2,3 data.csv
Efficient Text Processing
- Use native Linux commands
- Minimize unnecessary transformations
- Process large files in chunks
Memory-Efficient Techniques
## Process large files line by line
while read line; do
## Process each line
echo "$line" | sed 's/pattern/replacement/'
done < largefile.txt
LabEx Pro Tips
- Combine multiple text processing tools
- Use pipes for complex transformations
- Learn command-line options
- Practice with real-world datasets
Advanced Regex Patterns
## Extract IP addresses
grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' network.log
## Validate complex formats
grep -P '^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$' timestamps.txt
Error Handling and Validation
## Robust error checking
if grep -q "ERROR" log.txt; then
echo "Errors found in log file"
else
echo "No errors detected"
fi
By mastering these text manipulation tricks, you'll become a proficient Linux text processing expert, capable of handling complex data transformation tasks efficiently.