Ch.02 - 02. Bash 常用片段
1. 获取脚本所在路径
# 脚本所在路径
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
# 脚本所在路径的父路径
PARENT_DIR=$(dirname "${SCRIPT_DIR}")
2. 逐行处理输出
2.1. 逐行处理文件
while read -r line; do
echo "${line}"
done <FILENAME
2.2. 逐行处理命令输出
while read -r line; do
echo "${line}"
done < <(ls -l)
2.3. 逐行处理变量内容
sometext=$(ls -l)
while read -r line; do
echo "${line}"
done <<<"${sometext}"
3. 打印连续数字
# 打印数字 1 到 10
seq 1 10
# 打印等宽的数字 1 到 10
seq -w 1 10
4. Find
4.1. 找出大于某个大小的文件
find . -type f -size +100M
find . -type f -size +100M -printf "%k KB %p\n" | sort -rnk 1
4.2. 找出并且打印文件大小
find . -name '*.txt' -exec ls -lh {}
find . -name '*.txt' -printf "%p %k KB\n"