public static int WordCount(string str)
{
int num=0;
bool wasInaWord=true;;
if (string.IsNullOrEmpty(str))
{
return num;
}
for (int i=0;i< str.Length;i++)
{
if (i!=0)
{
if (str[i]==' ' && str[i-1]!=' ')
{
num++;
wasInaWord=false;
}
}
if (str[i]!=' ')
{
wasInaWord=true;
}
}
if (wasInaWord)
{
num++;
}
return num;
}
Мне не известен вариант ls
, чтобы сделать это.
Вы можете попробовать
(cd /student/xxxx/209_repo && ls -d */)
Это запускает новый подоболочек, из-за (...)
и в этом подоболочке изменяется в каталог .../209_repo
, а затем выполняет ls
.
После команды вы все еще находитесь в той директории, в которой находились, так как каталог изменений был выполнен только в подоболочке.
Или стандартная команда для поиска поддерева каталогов также find . -type d
, и вы можете настроить ее и добавить некоторую фильтрацию.
Аналогично @ user7369280, но без вложенной оболочки
cd /student/xxxx/209_repo/ && ls -d */ && cd -
РЕДАКТИРОВАТЬ
Для смягчения неудачной команды ls и возврата к wd:
cd /student/xxxx/209_repo/ && ls -d */ && cd - || cd -