Есть ли способ получить неинтерпретируемую строку в bash - она может включать в себя одинарные и двойные кавычки и Bang! так далее. ?
Я хочу сделать что-то вроде
#!/bin/bash
echo -e "Line One\nLine Two\nLine three" | python -c """
import sys
for line in sys.stdin.readlines():
print "STDIN: %s" %line
""" | awk '{print $2}'
Проблема в том, что ноль STDIN: строки выводятся - stdin не передается в программу python.
Вот пример использования: обратите внимание, что размер ввода может быть небольшим размером ГБ:
кот "my10GBfile.dat" | python -c "" ".. и т. д.
Теперь с помощью HEREDOC там .eg
#!/bin/bash
echo -e "Line One\nLine Two\nLine three" | python<<-HERE
some
multiline
python
program
HERE
| awk '{print $2}'
есть проблема, что stdin получает в связке - и, следовательно, ввод теряется.
Что я действительно хочу, так это не интерпретируемая многострочная строка в bash.