История изменений
Исправление kaldeon, (текущая версия) :
Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел, таб и перенос строки. Поэтому нужно:
|IFS='
'
grep -n pattern $(cat)
Либо задать глобальный IFS. Я не пробовал, но предчувствую проблемы с портабельностью.
Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.
Исправление kaldeon, :
Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел, таб и перенос строки. Поэтому нужно:
|IFS='
'
grep -n pattern $(cat)
Либо задать глобальный IFS. Я не пробовал, но похоже на проблемы с портабельностью.
Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.
Исправление kaldeon, :
Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел, таб и перенос строки. Поэтому нужно:
|IFS='
'
grep -n pattern $(cat)
Либо задать глобальный IFS. Я не пробовал, но похоже на проблемы с портабельностью.
Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.
Исходная версия kaldeon, :
Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел. Поэтому нужно:
|IFS='
'
grep -n pattern $(cat)
Либо задать глобальный IFS. Я не пробовал, но похоже на проблемы с портабельностью.
Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.