
		msoliver
		
		(usa Debian)
		
		Enviado em 06/07/2019 - 18:38h 
		mayna escreveu:
Olá a todos. 
Preciso de um comando que delete parte dos nomes dos arquivos de uma pasta (que são muitos), mas pela posição do caractere. Por exemplo, o arquivo abaixo:
20180101010000-OSISAF-L3C_GHRSST-SSTsubskin-GOES16-ssteqc_goes16_20180101_010000-v02.0-fv01.0.nc
Preciso apenas do inicio do nome "20180101", o resto seria deletado. Todos arquivos tem o mesmo comprimento (mesmo número de caracteres), mas a data (tem no começo e no fim do arquivo) interfere quando utilizo códigos que encontrei na internet.
Alguém sabe o que fazer?
Agradeço desde já. 
Boa noite Mayna.
Seguem alternativas para "pegar" somente os oito primeiros caracteres:
NomeArq="20180101010000-OSISAF-L3C_GHRSST-SSTsubskin-GOES16-ssteqc_goes16_20180101_010000-v02.0-fv01.0.nc"
echo ${NomeArq:0:8}
20180101 
sed: Apaga a partir do nono caractere:
sed -r 's/.//9g' <<< "$NomeArq" 
grep:
grep -Eo '^[0-9]{8}' <<< $NomeArq
20180101 
cut:
cut -b 1-8 <<< $NomeArq
cut -c 1-8 <<< $NomeArq 
awk:
awk -F "" '{for(x=1;x<=8;x++) printf "%s" ,$x;printf "\n"}' <<< $NomeArq 
É isso...
Importante =>  echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver