"inode" является неофициальным термином, который относится к любому дисковому блоку данных, которые файловая система Unix использует для содержания информации, имеющей отношение к единственному файлу. "inode" традиционно содержит номера блока дисковых блоков, содержащих фактическое содержание файла. Запись каталога традиционно содержала имя файла, тип файла, и т.д. Два блока данных были разделены.
Тем не менее много Unixy-вещей падает из него. Традиционно, имя файла не было частью inode. Имя файла прибыло из "каталога", файл (который имел свой собственный inode и содержание), который подошел имя файла к inode числу. Макрос C-препроцессора позволил коду идти от inode-числа до дискового блока с очень небольшим вычислением.
Так, много имен могли относиться к тому же inode. Жесткие ссылки выходят из этого. Также - способность иметь всегда относятся к текущему каталогу без обмана. Каталог всегда содержит "." и ".." имена файлов, которые соответствуют inode числам самого каталога и каталога, в котором находится каталог "." и ".." имена файлов имеют записи в каждом каталоге. Они не особые случаи в коде файловой системы, которые действительно не имеют данных нигде.
Иерархия файлов Unix выходит из inodes. Диск является по существу линейной матрицей "блоков" определенного размера, 512 байтов, 1 килобайт, 4 килобайта, безотносительно. Inode 0 всегда был в обозначенном дисковом блоке, позволяя ядру Unix найти корень файловой системы, просто зная "inode 0", и он мог связаться "/" с inode 9. Inode 0 был также файлом каталога. "usr", "мусорное ведро", "tmp", "dev" и т.д. имело записи в inode 0. Таким образом, inodes позволяют отображать линейный список блоков данных от диска в иерархическую структуру.
Inodes жил дисковый. В исходной файловой системе Unix, первой трети или четверти диска был inodes. Остальное было блоками данных, выделенными файлам по мере необходимости, и чьи числа дискового блока закончились в inodes. Различный fileystems за эти годы (BSD FFS, например) пытался принять во внимание фактическую физическую геометрию диска путем помещения зон inodes в различных местах на диске.
Файловая система "NTFS" Winodws NT имеет что-то сразу аналогичное inode: записи в главной файловой таблице. NTFS, кажется, наследовал это от своего предка, DEC Файлы VMS 11. Файлы 11 "заголовков файлов" кажутся почти идентичными записям в $MFT.
Я нисколько не опытен с другими файловыми системами Windows/DOS (FAT, FAT32, и т.д. и т.д.), но записи в Таблице размещения файлов походят на аналоги объединенной записи каталога и inode мне. Я предполагаю, что объединение именования и иерархии наряду с данными дискового блока - то, что делает файловые системы FAT настолько хрупкими. У Вас не может быть программы, прочесывают отдельные inode дисковые данные и помещают файлы, которые они находят в "lost+found" - после того как Таблица размещения файлов повреждается, членство в блоках в данных файлов потеряно, а также членство в файлах в каталоге.
Это должно ответить на Ваш вопрос:
grep -e "^..a" < input > savefile
Решение, предложенное @rahmu, просто при поиске низких положений, но что при поиске числа символов 25? Вставить 25 точек?
В таком случае следующие решения могли быть под рукой. С grep
grep '^.\{24\}a' input >output
С awk
awk -F '' '$25 == "a"' input >output
-e
даже необходим здесь - какgrep ^..a < input > output
должен быть достаточным. – 20.02.2012, 18:34