Encontrando um número de ocorrências de um determinado caractere no tcsh

2

Estou tentando encontrar o número de certos tipos de arquivos que possuem um '_' no nome do arquivo.

foreach txt ( 'ls *.txt')
set n=0
if(grep _ txt) then
@ n = n+1
endif
end

Não funciona como minha instrução if não está correta, mas não sei como definir dizendo se o arquivo txt tem um '_' dentro do nome do arquivo, então incremente n por 1.

    
por r0bb077 25.02.2012 / 12:06

3 respostas

1

Uma maneira de fazer isso seria usar os recursos de globalização do shell em vez de usar o grep.

set n=0
foreach txt (*_*.txt)
    @ n++
end

A sintaxe da coisa "if grep" se você precisava disso por outras razões seria:

if ( { grep -q _ $var } ) then
  ...
endif

( -q diz ao grep para ficar quieto e não imprimir nada.)

    
por 25.02.2012 / 14:07
0

Para obter o número de nomes de arquivos com um determinado caractere, use:

set n='ls *.txt | fgrep -c _'

Isso imprimirá apenas os nomes de arquivos que possuem o caractere encontrado e, em seguida, contará o número de entradas retornadas. No tcsh, você precisa prefixar as atribuições com set .

    
por 25.02.2012 / 14:10
0

Você pode usar o comando find em combinação com wc para obter o número de arquivos com _ no nome:

set n='find [path] -maxdepth 1 -name "*_*.txt" | wc -l'

Substitua [path] pelo diretório que você deseja pesquisar.

    
por 25.02.2012 / 15:14
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '831048',
    'url' => 'finding-a-number-of-occurrences-of-a-certain-character-in-tcsh',
];

$_COOKIE = [
    '_csrf-frontend' => '8515bb2b4d66a346decd821a1480aa5204149da98d7fe93b8f2723830dc46bb4a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"2PJ96-VazuliOS34hLei-GUp13bjoLOd";}',
    'advanced-frontend' => '9tvu9g53592dr8dheu33roa780',
];

$_SESSION = [
    '__flash' => [],
];