Распечатать все файлы содержимого в подкаталогах в Unix - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть код сценария оболочки, который я сделал с целью печати всего содержимого файлов во всех подкаталогах из подкаталога, в котором я нахожусь. Хотя я получаю некоторые ошибки ..

Я запустил сценарий оболочкис помощью команды: ./ thisCodeScriptFile

#!/bin/bash
for i in *; do
   if [ -d $i ]; then
      cd $i
      ~/thisCodeScriptFile
      cd ..
   else
      cat $i >> ~/resultFile
   fi
done

Полученные ошибки:

cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: resultFile: input file is output file
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Ошибка cat: '*': No such file or directory связана с тем, что папка пуста.Я предполагаю, что другая ошибка связана с тем, что вы запустили скрипт в своей домашней папке.Я предлагаю вам изменить скрипт для проверки пустых папок следующим образом:

#!/bin/bash
for i in *; do
   if [ -d $i ]; then
      cd $i
      if [ ! -z "$(ls -A .)" ]; then
          ~/thisCodeScriptFile
      fi
      cd ..
   else
echo $i
      cat $i >> ~/resultFile
   fi
done
0 голосов
/ 25 декабря 2018

вы можете использовать это, если хотите.простой, но эффективный

 find . -type f -printf '%f\r\n'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...