-
Must a text file be a regular file? In the above excerpt it does not explicitly say the file must be a regular file
Não; o trecho até menciona a entrada padrão como um arquivo de texto em potencial. Outros utilitários padrão, como
make
, usam especificamente o arquivo especial de tema/dev/null
como um arquivo de texto . -
Can a file be considered a text file if contains one character and one character only (i.e., a single character that isn't terminated with a newline)?
Esse personagem deve ser uma < newline & gt ;, ou isto não é uma linha , e assim o arquivo em que ele está não é um arquivo de texto. Um arquivo contendo exatamente o byte 0A é um arquivo de texto de linha única. Uma linha vazia é uma linha válida.
-
In the above excerpt, it makes reference to "lines". I found four definitions with line in their name: "Empty Line", "Display Line", "Incomplete Line" and "Line". Am I supposed to infer that they mean "Line" because of their omission of "Empty", "Display" and "Incomplete"
Não é realmente uma inferência, é apenas o que diz. A palavra "linha" recebeu uma definição contextualmente apropriada e é isso que é falando.
-
Can I safely infer that if a file is empty, it is not a text file because it does not contain one or more characters?
Um arquivo vazio consiste em zero (ou mais) linhas e é, portanto, um arquivo de texto.
-
Does the "zero" in "zero or more lines" mean that a file can still be considered a text file if it contains one or more characters that are not terminated with newline?
Não, esses caracteres não estão organizados em linhas.
-
Does "zero or more lines" mean that once a single "Line" (0 or more characters plus a terminating newline) comes into play, that it becomes illegal for the last line to be an "Incomplete Line" (one or more non-newline characters at the end of a file)?
Não é ilegal , não é apenas um arquivo de texto. Um utilitário que requer que um arquivo de texto seja fornecido a ele pode se comportar de maneira adversa se receber esse arquivo.
-
Does "none [no line] can exceed {LINE_MAX} bytes in length, including the newline character" mean that there a limitation to the number of characters allowed in any given "Line" in a text file
Sim.
Esta definição está apenas tentando definir alguns limites sobre o que é um utilitário baseado em texto ( por exemplo , grep
) definitivamente aceitará - nada mais. Eles também são livres para aceitar as coisas mais liberalmente, e muitas vezes eles fazem na prática. Eles têm permissão para usar um buffer de tamanho fixo para processar uma linha, para assumir que uma nova linha aparece antes de estar cheia e assim por diante. Você pode estar lendo demais nas coisas.