You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pt-BR/book/carregando_dados.md
+89-89Lines changed: 89 additions & 89 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,25 +7,25 @@ Anteriormente vimos como você pode usar comandos como `ls`, `ps`, `date` e `sys
7
7
Uma das funcionalidades mais poderosas do Nu para lidar com dados é o comando `open`. Ele é uma ferramenta múltipla, capaz de trabalhar com diversos formatos de dados. Para vermos o que isso significa, vamos tentar abrir um arquivo json:
De um jeito similar ao comando `ls`, abrir um tipo de arquivo que o Nu entende vai nos retornar algo que é mais do que apenas texto (ou um fluxo de bytes). Aqui nós abrimos um arquivo "package.json" de um projeto JavaScript. O Nu abre e reconhece o texto JSON e retorna uma tabela de dados.
23
23
24
24
Se quisermos checar a versão do projeto que estamos olhando, podemos usar o comando `get`.
25
25
26
26
```nu
27
-
> open editors/vscode/package.json | get version
28
-
1.0.0
27
+
open editors/vscode/package.json | get version
28
+
# => 1.0.0
29
29
```
30
30
31
31
O Nu atualmente suporta carregar dados diretamente para tabelas a partir dos seguintes formatos:
@@ -40,7 +40,7 @@ O Nu atualmente suporta carregar dados diretamente para tabelas a partir dos seg
40
40
Mas o que acontece se você carregar um arquivo texto cujo formato não é um desses? Vamos tentar:
41
41
42
42
```nu
43
-
> open README.md
43
+
open README.md
44
44
```
45
45
46
46
O conteúdo do arquivo é mostrado. Se o arquivo for muito grande, obteremos uma visão rolável para examinar o arquivo e depois voltar para o terminal. Para ajudar na legibilidade, Nu faz realce de sintaxe para formatos comuns como arquivos de código fonte, markdown e outros.
@@ -54,90 +54,90 @@ Uma parte importante de se trabalhar com dados vindos de fora do Nu é que eles
54
54
Vamos imaginar que obtivemos esse arquivo de dados:
55
55
56
56
```nu
57
-
> open people.txt
58
-
Octavia | Butler | Writer
59
-
Bob | Ross | Painter
60
-
Antonio | Vivaldi | Composer
57
+
open people.txt
58
+
# => Octavia | Butler | Writer
59
+
# => Bob | Ross | Painter
60
+
# => Antonio | Vivaldi | Composer
61
61
```
62
62
63
63
Cada pedacinho de dado que queremos está separado pelo símbolo de pipe ('|') e cada pessoa está numa linha em separado. Nu não possui por padrão um formato de arquivos delimitados por pipe, então teremos que interpretá-lo nós mesmos.
64
64
65
65
A primeira coisa que queremos fazer ao carregar o arquivo é trabalhar com ele linha a linha:
66
66
67
67
```nu
68
-
> open people.txt | lines
69
-
---+------------------------------
70
-
# | value
71
-
---+------------------------------
72
-
0 | Octavia | Butler | Writer
73
-
1 | Bob | Ross | Painter
74
-
2 | Antonio | Vivaldi | Composer
75
-
---+------------------------------
68
+
open people.txt | lines
69
+
# => ---+------------------------------
70
+
# => # | value
71
+
# => ---+------------------------------
72
+
# => 0 | Octavia | Butler | Writer
73
+
# => 1 | Bob | Ross | Painter
74
+
# => 2 | Antonio | Vivaldi | Composer
75
+
# => ---+------------------------------
76
76
```
77
77
78
78
Podemos notar que estamos lidando com linhas porque voltamos a ver uma lista. Nosso próximo passo é tentar dividir as linhas em algo um pouco mais útil. Para isso, vamos usar o comando `split column`. Como o nome implica, esse comando nos dá uma forma de dividir em colunas uma string delimitada. Informamos qual é o delimitador e o comando faz o resto:
79
79
80
80
```nu
81
-
> open people.txt | lines | split column "|"
82
-
---+----------+-----------+-----------
83
-
# | Column1 | Column2 | Column3
84
-
---+----------+-----------+-----------
85
-
0 | Octavia | Butler | Writer
86
-
1 | Bob | Ross | Painter
87
-
2 | Antonio | Vivaldi | Composer
88
-
---+----------+-----------+-----------
81
+
open people.txt | lines | split column "|"
82
+
# => ---+----------+-----------+-----------
83
+
# => # | Column1 | Column2 | Column3
84
+
# => ---+----------+-----------+-----------
85
+
# => 0 | Octavia | Butler | Writer
86
+
# => 1 | Bob | Ross | Painter
87
+
# => 2 | Antonio | Vivaldi | Composer
88
+
# => ---+----------+-----------+-----------
89
89
```
90
90
91
91
Está quase certo. Parece que tem um espaço extra ali. Vamos mudar nosso delimitador:
92
92
93
93
```nu
94
-
> open people.txt | lines | split column " | "
95
-
---+---------+---------+----------
96
-
# | Column1 | Column2 | Column3
97
-
---+---------+---------+----------
98
-
0 | Octavia | Butler | Writer
99
-
1 | Bob | Ross | Painter
100
-
2 | Antonio | Vivaldi | Composer
101
-
---+---------+---------+----------
94
+
open people.txt | lines | split column " | "
95
+
# => ---+---------+---------+----------
96
+
# => # | Column1 | Column2 | Column3
97
+
# => ---+---------+---------+----------
98
+
# => 0 | Octavia | Butler | Writer
99
+
# => 1 | Bob | Ross | Painter
100
+
# => 2 | Antonio | Vivaldi | Composer
101
+
# => ---+---------+---------+----------
102
102
```
103
103
104
104
Nada mal. O comando `split column` retorna dados que podemos usar. Ele também vai além e nos dá nomes de coluna padrão:
105
105
106
106
```nu
107
-
> open people.txt | lines | split column " | " | get Column1
108
-
---+---------
109
-
# | value
110
-
---+---------
111
-
0 | Octavia
112
-
1 | Bob
113
-
2 | Antonio
114
-
---+---------
107
+
open people.txt | lines | split column " | " | get Column1
108
+
# => ---+---------
109
+
# => # | value
110
+
# => ---+---------
111
+
# => 0 | Octavia
112
+
# => 1 | Bob
113
+
# => 2 | Antonio
114
+
# => ---+---------
115
115
```
116
116
117
117
Podemos também nomear nossas colunas ao invés de usar os nomes padrão:
Há outros comandos que você pode usar para trabalhar com strings:
@@ -149,23 +149,23 @@ Há outros comandos que você pode usar para trabalhar com strings:
149
149
Há também um conjunto de comandos auxiliares que podemos chamar se soubermos que os dados têm uma estrutura que o Nu deve ser capaz de entender. Por exemplo, vamos abrir um arquivo de lock do Rust:
150
150
151
151
```nu
152
-
> open Cargo.lock
153
-
# This file is automatically @generated by Cargo.
154
-
# It is not intended for manual editing.
155
-
[[package]]
156
-
name = "adhoc_derive"
157
-
version = "0.1.2"
152
+
open Cargo.lock
153
+
# => # This file is automatically @generated by Cargo.
154
+
# => # It is not intended for manual editing.
155
+
# => [[package]]
156
+
# => name = "adhoc_derive"
157
+
# => version = "0.1.2"
158
158
```
159
159
160
160
O arquivo "Cargo.lock" é na verdade um arquivo .toml, mas a extensão do arquivo não é .toml. Tudo bem, podemos usar o comando `from toml`:
161
161
162
162
```nu
163
-
> open Cargo.lock | from toml
164
-
----------+-------------
165
-
metadata | package
166
-
----------+-------------
167
-
[object] | [405 items]
168
-
----------+-------------
163
+
open Cargo.lock | from toml
164
+
# => ----------+-------------
165
+
# => metadata | package
166
+
# => ----------+-------------
167
+
# => [object] | [405 items]
168
+
# => ----------+-------------
169
169
```
170
170
171
171
Há um comando `from` para cada formato de dados estruturados em texto que o Nu entende e pode abrir.
@@ -175,23 +175,23 @@ Há um comando `from` para cada formato de dados estruturados em texto que o Nu
175
175
Embora seja útil poder abrir um arquivo e trabalhar imediatamente com uma tabela dos seus dados, nem sempre é isso o que queremos fazer. Para ter acesso ao texto subjacente, o comando `open` pode receber um modificador opcional `--raw`:
Além de carregar dados a partir do sistema de arquivos, você também pode passar uma URL para o comando `open`. Ele trará da internet o conteúdo dessa URL e o retornará para você:
Copy file name to clipboardExpand all lines: pt-BR/book/explorando.md
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,38 +11,38 @@ Como vimos em outros capítulos, `ls` é um comando para visualizar o conteúdo
11
11
O comando `ls` também recebe um parâmetro opcional para mudar o que você gostaria de ver. Por exemplo, podemos listar os arquivos cujo nome termina em ".txt".
O asterisco (\*) usado no parâmetro opcional acima "\*.txt" é chamado de coringa. Ele faz uma correspondência com qualquer coisa. Você pode ler o coringa "\*.txt" como "aceite qualquer nome de arquivo, desde que termine com '.txt'".
24
24
25
25
Nu também usa coringas modernos, que permitem acesso a diretórios mais profundos.
# => 0 | src/cli.rs | File | | 19.1 KB | 15 hours ago | 15 hours ago
33
+
# => 1 | src/commands/args.rs | File | | 244 B | 2 months ago | 2 months ago
34
+
# => 2 | src/commands/autoview.rs | File | | 2.5 KB | 15 hours ago | 15 hours ago
35
+
# => 3 | src/commands/cd.rs | File | | 277 B | a week ago | a week ago
36
+
# => 4 | src/commands/classified.rs | File | | 13.5 KB | 15 hours ago | 15 hours ago
37
+
# => 5 | src/commands/clip.rs | File | | 2.0 KB | 2 days ago | 2 days ago
38
38
```
39
39
40
40
Aqui estamos procurando qualquer arquivo cujo nome termine com ".rs" e os dois asteriscos dizem ainda "em qualquer diretório começando a partir daqui".
41
41
42
42
## Mudando o diretório atual
43
43
44
44
```nu
45
-
> cd new_directory
45
+
cd new_directory
46
46
```
47
47
48
48
Para mudar do diretório atual para um outro, usamos o comando `cd`. Assim como em outros shells, podemos usar o nome do diretório ou, se quisermos ir para um diretório acima, podemos usar o atalho `..`.
@@ -54,25 +54,25 @@ Nu também fornece alguns comandos básicos de sistemas de arquivos que funciona
54
54
Podemos mover um item de um lugar para outro usando o comando `mv`.
55
55
56
56
```nu
57
-
> mv item location
57
+
mv item location
58
58
```
59
59
60
60
Podemos copiar um item de um local para outro:
61
61
62
62
```nu
63
-
> cp item location
63
+
cp item location
64
64
```
65
65
66
66
Podemos remover um item:
67
67
68
68
```nu
69
-
> rm item
69
+
rm item
70
70
```
71
71
72
72
Os três comandos também podem usar os coringas que vimos anteriormente com `ls`.
73
73
74
74
Por fim, podemos criar um novo diretório usando o comando `mkdir`:
0 commit comments