RAC - Informações - Screenshots

Screenshots do Programa em Ação

Exemplos valem mais do que mil páginas de manual. Este é o arquivo de texto que todos os exemplos seguintes usarão:

$ cat num.txt
1:um    :one  :uno   :ein
2:dois  :two  :dos   :zwei
3:três  :three:tres  :drei
4:quatro:four :cuatro:vier
5:cinco :five :cinco :fünf
6:seis  :six  :seis  :sechs
7:sete  :seven:siete :sieben
8:oito  :eight:ocho  :acht
9:nove  :nine :nueve :neun

Agora alguns exemplos de endereçamento de linhas:

# Somente a linha 4
$ cat num.txt | rac '4'
4:quatro:four :cuatro:vier

# As linhas 4, 7 e 2, nesta ordem
$ cat num.txt | rac '4;7;2'
4:quatro:four :cuatro:vier
7:sete  :seven:siete :sieben
2:dois  :two  :dos   :zwei

# A linha 4, três vezes
$ cat num.txt | rac '4;4;4'
4:quatro:four :cuatro:vier
4:quatro:four :cuatro:vier
4:quatro:four :cuatro:vier

# Da linha 4 até a linha 6
$ cat num.txt | rac '4:6'
4:quatro:four :cuatro:vier
5:cinco :five :cinco :fünf
6:seis  :six  :seis  :sechs

# Da linha 6 até a linha 4 (inverso!)
$ cat num.txt | rac '6:4'
6:seis  :six  :seis  :sechs
5:cinco :five :cinco :fünf
4:quatro:four :cuatro:vier

# Da linha 8 até a última linha
$ cat num.txt | rac '8:-1'
8:oito  :eight:ocho  :acht
9:nove  :nine :nueve :neun

# Da última à antepenúltima linha (inverso!)
$ cat num.txt | rac '-1:-3'
9:nove  :nine :nueve :neun
8:oito  :eight:ocho  :acht
7:sete  :seven:siete :sieben

# Do início até a terceira linha
$ cat num.txt | rac ':3'
1:um    :one  :uno   :ein
2:dois  :two  :dos   :zwei
3:três  :three:tres  :drei

Para colunas é bem parecido, basta colocar entre colchetes:

# Da coluna 2 até a coluna 9
$ cat num.txt | rac '[2:9]'
:um    :
:dois  :
:três  :
:quatro:
:cinco :
:seis  :
:sete  :
:oito  :
:nove  :

# Da coluna 23 até o final da linha
$ cat num.txt | rac '[23:]'
ein
zwei
drei
vier
fünf
sechs
sieben
acht
neun

# A linha 7, da coluna 3 até a coluna 6
$ cat num.txt | rac '7[3:6]'
sete

# A linha 7 de trás para frente
$ cat num.txt | rac '7[-1:1]'
nebeis: eteis:neves:  etes:7

# Da col. 15 da linha 7 à col. 15 da linha 9
$ cat num.txt | rac '7[15]:9[15]'
:siete :sieben
8:oito  :eight:ocho  :acht
9:nove  :nine :

# A linha 7, vários cortes
$ cat num.txt | rac '7[16:21,3:7,23:,2,1]'
siete sete sieben:7

Textos! Tudo fica mais interessante endereçando por textos (strings):

# Linhas que contêm a palavra sete
$ cat num.txt | rac '=sete='
7:sete  :seven:siete :sieben

# A segunda linha após a que contém sete
$ cat num.txt | rac '=sete=+2'
9:nove  :nine :nueve :neun

# A segunda linha anterior a que contém sete
$ cat num.txt | rac '=sete=-2'
5:cinco :five :cinco :fünf

# A terceira linha que contém dois-pontos
$ cat num.txt | rac '=:=*3'
3:três  :three:tres  :drei

# A penúltima linha que contém dois-pontos
$ cat num.txt | rac '=:=*-2'
8:oito  :eight:ocho  :acht

# Partindo da 1a linha com sete, ande de 1 em 1
$ cat num.txt | rac '=sete=*1~1'
7:sete  :seven:siete :sieben
8:oito  :eight:ocho  :acht
9:nove  :nine :nueve :neun

# Partindo da 1a linha com sete, volte de 2 em 2
$ cat num.txt | rac '=sete=*1~-2'
7:sete  :seven:siete :sieben
5:cinco :five :cinco :fünf
3:três  :three:tres  :drei
1:um    :one  :uno   :ein

Screenshot "Gráfico"

Além dos exemplos, aqui vai uma representação colorida das áreas que os comandos listados abaixo representam num suposto arquivo de 9x9 (9 linhas com 9 colunas cada).

1 2 3 4 5 6 7 8 9
1   . . .   . . . . 1
2 . . . .   .       2
3       .   . . . . 3
4 . . . .   . . . . 4
5                   5
6 . . . .   . . . . 6
7   .   .     .   . 7
8 . . . .   . . . . 8
9 .         . . .   9
1 2 3 4 5 6 7 8 9
Endereço ID Descrição
5   Quinta linha
[5]   Quinta coluna
1[1]   Primeira coluna da primeira linha
-1[-1]   Última coluna da última linha
2[7]:3[3]   Da linha 2 coluna 7 até a linha 3 coluna 3
7[1,3,6,8]   Colunas 1, 3, 6 e 8 da sétima linha
-1[2:4]   Colunas 2, 3 e 4 da última linha