Use awk com a -Fbandeira. Você terá que usar echo e canalizar para o awk assim:
for line in `cat /etc/group`
do
col1=$(echo $line | awk -F':' '{print $1}')
col2=$(echo $line | awk -F':' '{print $2}')
# Then you can use col1, col2, etc...
echo "column 1 = $col1"
echo "column 2 = $col2"
done
foreach line ("`cat /etc/group`")
set fs = ($line:gas/:/ /)
set f = ($fs)
echo "$f[1]"
end
Em tcshvocê pode omitir a fsvariável intermediária e diretamente set f = ($line:gas/:/ /).
O :s/pat/rpl/modificador de variável substituirá todas as ocorrências de patna variável por rpl( paté um texto simples, nenhuma expressão regular é reconhecida). O asinalizador diz para substituir todas as ocorrências e o gsinalizador para fazê-lo em todas as palavras.
Se estiver usando o original cshe o /etc/grouparquivo contiver metacaracteres glob, você terá que colocar o loop entre parênteses set noglob/ unset noglob.
Use awk com a
-F
bandeira. Você terá que usar echo e canalizar para o awk assim:Em
tcsh
você pode omitir afs
variável intermediária e diretamenteset f = ($line:gas/:/ /)
.O
:s/pat/rpl/
modificador de variável substituirá todas as ocorrências depat
na variável porrpl
(pat
é um texto simples, nenhuma expressão regular é reconhecida). Oa
sinalizador diz para substituir todas as ocorrências e og
sinalizador para fazê-lo em todas as palavras.Se estiver usando o original
csh
e o/etc/group
arquivo contiver metacaracteres glob, você terá que colocar o loop entre parêntesesset noglob
/unset noglob
.