Last active
January 26, 2017 15:18
-
-
Save huyanhvn/379b3436ac946f5c7400 to your computer and use it in GitHub Desktop.
shell string tricks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### REPLACE \n WITH LITERAL '\n' | |
sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' | |
### SEARCH AND PRINT REGEX MATCH | |
echo ... | sed -n -e "s/^.*arn:aws:iam::\(.*\):user.*/\1/p" | |
### PRINT SEQUENCE | |
seq -f "10.235.5.%g" 117 126 | |
### SEARCH AND REPLACE IN FILES | |
grep -E -R -l 'pattern1' . 2>/dev/null | xargs sed -r -i -e 's/pattern1/pattern2/' | |
(for Mac) ... | xargs sed -i '' 's/pattern1/pattern2/g' | |
### SEARCH FOR PATTERN THEN PRINT TO BLANK LINES | |
sed -n '/<pattern>/,/^$/p' | |
### SEARCH FOR PATTERN THEN PRINT TO LAST LINE, EXCEPT PATTERN | |
sed -ne '/<pattern>/{s///; :a' -e 'n;p;ba' -e '}' | |
### PRINT SECOND TO LAST FIELD | |
awk '{print $(NF-1)}' | |
### REPLACE 2ND TO LAST | |
awk '{$(NF-1)=""; print}' | |
### PRINT FROM SECOND TO LAST FIELD (space delimiter) | |
cut -d ' ' -f2- | |
### REPLACE ANY NUMBER OF BLANK SPACE | |
... | sed 's/ */ /g' | |
### SUM UP NUMBERS | |
awk '{s+=$1} END {print s}' | |
### SPLIT CA BUNDLE INTO INDIVIDUAL CERTS | |
cat ~/ca-bundle.crt | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > ("cert" n ".pem")}' | |
ls cert*.pem | xargs sed -i '/BEGIN CERTIFICATE/,$!d' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment