Традиционно в некоторых контекстах есть символ конца файла - MS-DOS / CMD.EXE использует CTRL+Z - Linux использует CTRL+D
CTRL-Z - это код 26, CTRL-D - это код 4 в таблице ASCII.
Они все еще используются в ситуациях, когда вы используете стандартный stdin
(в значении, применяемом в программировании "C" и общем консольном /tty IO).
например
C:\> copy con myFile.txt
This is text to go into the file.Enter
CTRL+Z
C:\> type myFile.txt
This is text to go into the file.
C:\>
Та же самая последовательность работает в Linux'е с той разницей, с которой вы начинаете
$ cat >myFile
и заканчивается CTRL+D, затем cat myFile.txt
вместо type
.
...
Если вы программируете, вы вряд ли увидите какие-либо эффекты этих персонажей.
Я на момент написания этой статьи не знал ни о каком вызове функции, который остановился бы на этих символах.
Прочитайте документацию по вашему программному обеспечению / библиотеке - если нет никаких заявлений об их влиянии, то вряд ли вы увидите что-то странное.
Окончания строк - комбинации CR и LF, коды 13 и 10 - немного отличаются, однако, это может стать довольно грязным, если вы переносите файлы TEXT из одной системы в другую.
unix2dos
и dos2unix
- это команды оболочки, доступные в Linux'en - для этой цели.
Пример сессии bash:
$ echo -e "First line\n\x04Second line."
First line
Second line.
$ echo -e "First line\n\x04Second line." | od -t x1z
0000000 46 69 72 73 74 20 6c 69 6e 65 0a 04 53 65 63 6f >First line..Seco<
0000020 6e 64 20 6c 69 6e 65 2e 0a >nd line..<
0000031
$ echo -e "First line\n\x04Second line." | grep line
First line
Second line.
$ cat >myFile.txt
Check this out
$ cat myFile.txt
Check this out
$