Из примера в вопросе похоже, что он действительно должен работать, что касается использования fgrep
.
Что выглядит неправильным, так это то, что grep - если outputfile.txt
существовал раньше - вероятно, снова будет искать в собственном выводе, в зависимости от размеров буфера и размеров ввода. Если outputfile.txt
не существовал ранее, похоже, что *. Txt
не будет соответствовать ему, потому что он не существует во время сопоставления.
На самом деле это не похоже на причину вашей проблемы, но стоит проверить, что происходит, когда outputfile.txt
хранится в другом месте.
Если это не так, что бы вы могли сделать?
В комментариях вы показываете пример inputfile.txt
, который вызывает проблему.
Я предполагаю, что проблема вызвана одной или несколькими строками в этом файле - при использовании с теми же файлами *. Txt
.
Чтобы определить, какие строки являются проблемой, вы можете выполнить двоичный поиск строк: вы удалите половину строк и проверьте, работает ли это. Если проблема исчезла, для продолжения используйте удаленные строки, в противном случае - оставшиеся строки. Теперь вы повторяете это, пока у вас не останется только одна или несколько строк - в этот момент вы, вероятно, уже можете увидеть причину.
Следует быть читаемым по умолчанию, убедитесь, что у вас нет странных вариантов монтажа в / etc / fstab
или некоторое неуклюжее задача пост-монтажа в etc / init / mounted-proc.conf
.
Вы могли бы, возможно, подключиться к параноидальному серверу, сильно защищенным против Turla для вирусов Linux .
Это может быть ограничено некоторыми Apparmor
защиты.
Вы можете попробовать свой прототип Bash прототипа образца Turla Kindotoor , чтобы понять, как доступ к / proc / net / tcp
может стать способом атаки.
Спросите своего Sysadmin (и скажите, что я прочитал мой ответ, чтобы защитить свою систему)!