#!/bin/sh
cd "$1" || { echo "Couldn't cd to directory $1. Quitting." ; exit 1 ; }
for fname in *.txt
do
awk 'NR % 2 == 1 { print; }' "$fname" >"${fname%.txt}.bat"
done
Coloque o acima em um arquivo e torne o arquivo executável ( chmod +x yourfilename
). Agora, execute este comando com o diretório no qual você deseja operar como o primeiro argumento.
O script é alterado para o diretório solicitado ( cd "$1"
). Se isso falhar (o diretório não existe), o script sairá com uma mensagem de erro. Se cd "$1"
for bem-sucedido, o script passará por cada arquivo .txt
no diretório, selecionará as linhas ímpares ( NR % 2 == 1
) e as gravará em um arquivo com o mesmo nome, exceto na extensão ".bat".