awk Flashcards Preview

TI - Bash > awk > Flashcards

Flashcards in awk Deck (20)
Loading flashcards...
1
Q

Imprima todas as linhas do arquivo file.txt

A

awk ‘{ print }’ file.txt

2
Q

Imprima o texto ‘olá’ para cada linha do arquivo file.txt

A

awk ‘{ print “olá”}’ file.txt

3
Q

Imprima o nome de todos os usuários no arquivo /etc/passwd

A

awk -F’:’ ‘{ print $1 }’ /etc/passwd

4
Q

Imprima o label ‘username: ‘, o nome, duas tabulações, o label ‘uid: ‘ e o uid de todos os usuários no arquivo /etc/passwd

A

awk -F’:’ “{ print username: $1 ‘\t\tuid:’ $3 }” /etc/passwd

5
Q

execute o awk chamando um script awk com nome myscript

A

awk -f myscript.awk file

6
Q

Shebang do awk

A

!/usr/bin/awk -f

7
Q

Tag que inicia um script awk

A

BEGIN

8
Q

Um script awk que imprima o nome de todos os usuários no arquivo /etc/passwd

A
#!/usr/bin/awk -f
BEGIN {
   FS=":"
} 
{ print $1 }
9
Q

o que é a constante FS?

A

Field Separator - o caractere de separação dos campos

10
Q

Por que se usa o BEGIN?

A

Para dizer que o script awk irá começar a partir deste bloco para cada input fornecido

11
Q

O que é o bloco END?

A

Um bloco no final do processamento para finalizar o script

12
Q

selecione somente as linhas que contenha php e imprima

A

/php/ { print }

13
Q

variavel que guarda os caracteres de divisão de campos na linha

A

FS

14
Q

variavel que guarda o numero de campos na linha

A

NF

15
Q

variavel que guarda o numero da linha corrente

A

NR

16
Q

Como fazer para que seja exibido os dados de cada pessoa em uma única linha?
Jimmy the Weasel
100 Pleasant Drive
San Francisco, CA 12345

Big Tony
200 Incognito Ave.
Suburbia, WA 67890

A
BEGIN {
    FS="\n"
    RS=""
}
{ print $1 ", " $2 ", " $3 }
17
Q

Variavel que guarda os caracteres que definem o final de uma linha, quando mais de uma linha deve ser representada como uma

A

RS

18
Q

Variavel que guarda os caracteres de divisão de campo que são chamados como ‘,’

A

OFS

19
Q

Variavel que guarda os caracteres de divisão de toda uma linha

A

ORS

20
Q

Como fazer para que seja exibido os dados de cada pessoa em uma única linha. Independente da quantidade de linhas de cada registro.
Jimmy the Weasel
100 Pleasant Drive
San Francisco, CA 12345

Big Tony
200 Incognito Ave.
Suburbia, WA 67890

A
BEGIN {
 FS='\n'
 RS=''
 ORS=''
}
{
 x=1
 while( x < NF ) {
  print $x '\t'
  x++
 }
 print $NF '\n'
}