用于sed翻译管道和$(换行符,然后用于awk输出一行的第一个单词(如果它可能是命令)。通过管道which查找 PATH 中潜在的命令字:
sed 's/|\|\$(/\n/g' FILENAME |
awk '$1~/^#/ {next} $1~/=/ {next} /^[[:space:]]*$/ {next} {print $1}' |
sort -u |
xargs which 2>/dev/null
Run Code Online (Sandbox Code Playgroud)