Merge pull request #79 from terminalforlife/master

A Few Additional Code Lines (Likely More to Come)
pull/81/head
Igor Chubin 5 years ago committed by GitHub
commit 2a42d6b73d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -15,3 +15,12 @@ awk -v RS='' '/42B/' file
# display only first column from multi-column text
echo "first-column second-column third-column" | awk '{print $1}'
# Use awk solo; without the need for something via STDIN.
awk BEGIN'{printf("Example text.\n")}'
# Accessing environment variables from within awk.
awk 'BEGIN{print ENVIRON["LS_COLORS"]}'
# One method to count the number of lines; in this case, read from STDIN.
free | awk '{i++} END{print i}'

@ -1,54 +1,58 @@
# To find files by case-insensitive extension (ex: .jpg, .JPG, .jpG):
# Find files by case-insensitive extension (ex: .jpg, .JPG, .jpG):
find . -iname '*.jpg'
# To find directories:
# Find directories:
find . -type d
# To find files:
# Find files:
find . -type f
# To find files by octal permission:
# Find files by octal permission:
find . -type f -perm 777
# To find files with setuid bit set:
# Find files with setuid bit set:
find . -xdev \( -perm -4000 \) -type f -print0 | xargs -0 ls -l
# To find files with extension '.txt' and remove them:
find ./path/ -name '*.txt' -exec rm '{}' \;
# To find files with extension '.txt' and look for a string into them:
# Find files with extension '.txt' and look for a string into them:
find ./path/ -name '*.txt' | xargs grep 'string'
# To find files with size bigger than 5 Mb and sort them by size:
# Find files with size bigger than 5 Mb and sort them by size:
find . -size +5M -type f -print0 | xargs -0 ls -Ssh | sort -z
# To find files bigger thank 2 MB and list them:
# Find files bigger thank 2 MB and list them:
find . -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
# To find files modified more than 7 days ago and list file information
# Find files modified more than 7 days ago and list file information
find . -type f -mtime +7d -ls
# To find symlinks owned by a user and list file information
# Find symlinks owned by a user and list file information
find . -type l --user=username -ls
# To search for and delete empty directories
# Search for and delete empty directories
find . -type d -empty -exec rmdir {} \;
# To search for directories named build at a max depth of 2 directories
# Search for directories named build at a max depth of 2 directories
find . -maxdepth 2 -name build -type d
# To search all files who are not in .git directory
# Search all files who are not in .git directory
find . ! -iwholename '*.git*' -type f
# To find all files that have the same node (hard link) as MY_FILE_HERE
# Find all files that have the same node (hard link) as MY_FILE_HERE
find . -type f -samefile MY_FILE_HERE 2>/dev/null
# To find all files in the current directory and modify their permissions
# Find all files in the current directory and modify their permissions
find . -type f -exec chmod 644 {} \;
# To find files with extension '.txt.' and edit all of them with vim
# Find files with extension '.txt.' and edit all of them with vim
# vim is started only once for all files
find . -iname '*.txt' -exec vim {} \+
# To find all files with extension '.png' and rename them by changing extension to '.jpg' (base name is preserved)
# Find all files with extension '.png' and rename them by changing extension to
# '.jpg' (base name is preserved)
find . -type f -iname '*.png' -exec bash -c 'mv "$0" "${0%.*}.jpg"' {} \;
# Use logic and grouping to delete extension-specific files.
find \( -iname "*.jpg" -or -iname "*.sfv" -or -iname "*.xspf" \) -type f -delete

@ -1,2 +1,5 @@
# display numerical values for file permissions
stat -c '%a %n' *
# Display only the octal permissions for the given directory. Great for tests.
stat --format='%a' /boot

Loading…
Cancel
Save