Talvez sed '1s/.\(.*\)//' myfile
?
sed 's/.\(.*\)//' myfile
Say myfile contém:
abc
def
ghi
Eu quero remover o primeiro caractere somente da primeira linha, mas o acima o remove de toda a linha.
também pode usar o awk: awk 'NR==1 {sub(/./,"")} 1'
tail
pode ler de um byte , portanto, se o seu arquivo usar apenas caracteres de byte único (normalmente UTF-8 ASCII ), isso vai funcionar.
Depende da sua situação, seja ela importante ou não, mas tail
é mais rápido que sed
... provavelmente porque sed precisa processar cada linha individualmente. Mas não o use onde houver qualquer chance do primeiro caractere usar mais de um byte.
tail -c +2 "file"
De man tail
-c, --bytes=N output the last N bytes; alternatively, use +N to output bytes starting with the Nth of each file
Tags bash text-processing sed