LINUX.ORG.RU

История изменений

Исправление 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. Я не пробовал, но похоже на проблемы с портабельностью.

Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.