QNX - 找到与命令行“树”等价的东西

问题描述 投票:0回答:1

试图在 QNX 上找到与 Linux 命令行“树”等效的东西。 我找到了一些适用于 Linux 的 bash 脚本,但无法在 QNX 上运行。 如果有人会知道怎么做? ... 或者作为已经在 QNX 上运行的脚本。

This works -
#!/bin/bash
pwd=$(pwd)
echo Tree of: $pwd
find $pwd -print | sed -e 's;$pwd;\.;g;s;[^/]*\/;|__;g;s;__|; |;g'
#very simple script. REALLY!
echo ‘|__end tree’
tree command qnx
1个回答
0
投票

试试这个:

#!/bin/sh
# Simulate cmd tree on QNX

if [ $# -eq 0 ]; then
  path="."
  level=999
else
  path=$1
  level=${2:-999}
fi

if [ ! -d $path ]; then
  echo "$path is not a directory"
  exit 1
fi

BLUE="\033[1;34m"
WHITE="\033[0m"
dircount=0
filecount=0

display_tree() {
  local prefix=""
  local i=0
  while [ $i -lt $1 ]; do
    prefix="$prefix  "
    i=$(( i + 1 ))
  done

  for file in $(ls $2); do
    filepath=$2/$file
    if [ -d $filepath ]; then
      echo "${prefix}├── ${BLUE}$file${WHITE}"
      dircount=$(( dircount + 1 ))

      if [ $1 -lt $level ]; then
        display_tree $(( $1 + 1 )) $filepath
      fi
    else
      echo "${prefix}├── $file"
      filecount=$(( filecount + 1 ))
    fi
  done
}

echo ${BLUE}$path${WHITE}
display_tree 0 $path
echo ""
echo "$dircount directories, $filecount files"
© www.soinside.com 2019 - 2024. All rights reserved.