Shell no terminal - comandos
ssconvert unoconv cat sed head awk

# Converter xlsx para csv, requer instalação do gnumeric:

ssconvert arquivo.xlsx arquivo.csv

# Converter xls para csv, requer instalação do unoconv:

unoconv --format csv arquivo.xls

# Retirando a primeira linha de um arquivo e salvando em outro:

head -1 arquivo.csv > header_arquivo.csv

# Retirar primeira linha de um arquivo, uttilizando para retirar o cabeçalho:

cat dados.csv | sed '1d' > no_header_dados.csv

# Unindo dois ou mais arquivos:

cat arquivo_1.csv arquivo_2.csv arquivo_3.csv > arquivo_final.csv

# Substituir uma palavra por outra (claudio por claudia) na primeira ocorrência apenas :

sed -e '0,/claudio/ s/claudio/claudia/' arquivo.csv

# Imprimir a coluna 1 com separador ponto e vírgula ( ; ) :

awk -F ";" '{print $1}' arquivo.csv

# Imprimir terceira e primeira coluna com delimitador sendo ponto e vírgula ( ; ) :

awk -F ";" '{ print $3, $1}' arquivo.csv

# Imprimir terceira e primeira coluna com delimitador sendo ponto e vírgula ( ; ) imiprimindo o delimitador também :

awk -F ";" '{ printf "%s;%s\n", $3, $1}' arquivo.csv

# Imprimir excluindo a coluna 2 e 3 com delimitador sendo ponto e vírgula ( ; ) :

awk -F ";" '{$2=$3=""; print $0}' arquivo.csv

# Adicionar coluna com um determinado valor com delimitador sendo ponto e vírgula ( ; ) :

awk '{print $0, ";11/2"}' arquivo.csv

# Inserir coluna na posição 5 com um determinado valor com delimitador sendo ponto e vírgula ( ; ) :

awk -F';' '{print $1,$2,$3,$4,"URB"}' OFS=';' original.csv > final.csv

# Imprimir com condição para alguma coluna com delimitador sendo ponto e vírgula ( ; ) :

awk -F ";" '{if ($1 == "2012/2") print($0)}' arquivo.csv

awk -F ";" '{if ($3 < 100) print($0)}' arquivo.csv

# Remover primeira linha :

cat evasao.csv | sed '1d' > noheaderevasao.csv

# Substituir ponto por ponto e vírgula :

sed 's/\./\;/g' 1.csv > 2.csv

# Unir dois arquivos csv mesclando, inserir colunas :

paste -d ';' evasao.csv anoevasao.csv > evasaofinalcsv

# Unir dois arquivos, inserir linhas. :

cat file1.csv file2.csv > file.csv

# Substituir ponto por ponto e vírgula :

sed 's/\./\;/g' 1.csv > 2.csv

# Fazendo operações com condições, para inserir/concatenar strings, número de ano :

awk '{ if($1!=99) print "20"$1}' anomatricula.csv

awk '{if($1 > 20) print"19"$1; else print"20"$1}' ano.csv

# Substituir espaço vazio por NA :

awk '{if($1=="") print "NA"; else print $1}' motivo.csv > final.csv

awk 'BEGIN{FS=";";OFS=";"} {if($12==""){$12="NA"}print}' entrada.csv > saida.csv

# Contar número de colunas separados por ponto e vírgula :

$ awk -F';' '{print NF; exit}' final.csv