텍스트를 전혀 해석하지 않는 텍스트 인쇄 응용 프로그램이 있습니까? [폐쇄]

텍스트를 전혀 해석하지 않는 텍스트 인쇄 응용 프로그램이 있습니까? [폐쇄]

어떤 종류의 해석 없이 제공한 내용만 인쇄하는 Linux 애플리케이션이 있습니까? 그럼 내가 무엇을 보내든 항상 내가 보낸 내용이 정확히 출력된다는 건가요?

echo나는 기능을 갖고 있지만 printf설명하지 않는 것과 \그 밖의 모든 것을 원합니다.

내가 원하는 애플리케이션 유형은 다음과 같습니다.

newcommand "sa"" '' " "' ''""d f\sad\ f\sad\ \df\\ h\df\\\\\ sdf\h\sdfh\"" """" ''" " "ds\f\\\\ $%% \\as\ fsa\dg\ \afd\g\ \df\g \\df\g\\\\ n\ \n \\ sa\d \as \t a fsad g"" DF"G ""SD"F"" "DF"SG" """"Ds f"G" 'dsf'g 'sdf" G'ds f'g"SD fG"sd'f'g 'SFD""" ' > testfile1
cat testfile1
"sa"" '' " "' ''""d f\sad\ f\sad\ \df\\ h\df\\\\\ sdf\h\sdfh\"" """" ''" " "ds\f\\\\ $%% \\as\ fsa\dg\ \afd\g\ \df\g \\df\g\\\\ n\ \n \\ sa\d \as \t a fsad g"" DF"G ""SD"F"" "DF"SG" """"Ds f"G" 'dsf'g 'sdf" G'ds f'g"SD fG"sd'f'g 'SFD""" '

이 기능이 포함된 프로그램을 찾을 수 없습니다. 기본적으로 "및 를 포함한 모든 위치 인수는 있는 그대로 출력됩니다 '. 있는 그대로 출력되지 않는 유일한 것은 |<>명백한 이유 때문입니다.

좋습니다. 제가 원하는 것의 더 나은 예는 다음과 같습니다.

나는 명령줄에서 한 줄로 수행할 수 있는 작업을 원합니다. nano또는 vi전체 텍스트 줄을 작성하여 수행할 수 있습니다.

답변1

이는 쉘 구문의 일부 "이며 \명령에 전달되는 항목이 아니며 명령은 이를 사용하여 아무 작업도 수행할 수 없습니다.

이것

printf %s 'foo " bar' "bar ' baz" > file

명령줄은 sh언어의 코드(공백,,, '문자가 특정 의미를 "가짐 )이며 유틸리티에 전달되는 줄이 >아닙니다 .printf

쉘은 이를 인수로 printf와 함께 실행되는 것으로 해석 하고 표준 출력은 로 리디렉션됩니다 .%sfoo " barbar ' bazfile

보이는 것은 인수 목록뿐이며 해당 인수 목록을 사용하여 호출하는 데 사용된 셸 코드(또는 셸이 아닌 Python에서 호출된 경우 Python 코드)는 printf표시되지 않습니다 . 이들 각각은 설명 없이 인쇄되므로 가 포함 됩니다 .printfprintf %sfilefoo " barbar ' baz

여기서는 또 다른 쉘 구문 구조인 here-document를 사용할 수 있습니다. 여기서 문서 구분 기호가 인용되어 있으며 이 경우 해석이 수행되지 않습니다.

cat << 'EOF' > testfile
"sa"" '' " "' ''""d f\sad\ f\sad\ \df\\ h\df\\\\\ sdf\h\sdfh\"" """" ''" " "ds\f\\\\ $%% \\as\ fsa\dg\ \afd\g\ \df\g \\df\g\\\\ n\ \n \\ sa\d \as \t a fsad g"" DF"G ""SD"F"" "DF"SG" """"Ds f"G" 'dsf'g 'sdf" G'ds f'g"SD fG"sd'f'g 'SFD""" '
EOF

텍스트에 대한 유일한 제한 사항은 다음과 같습니다.

  • 다음을 제외하고 zshNUL 바이트를 포함할 수 없습니다.
  • EOF자체 줄에 포함될 수 없습니다 (필요한 경우 다른 구분 기호를 사용할 수 있음).
  • 텍스트가 비어 있지 않으면 후행 줄 바꿈이 항상 추가됩니다.

또는 다음을 실행할 수 있습니다.

cat > file

그 후에는 cat더 이상 사용자 입력을 받아들이는 쉘이 아니며 원하는 것을 입력하고 끝낼 수 있습니다 Ctrl+D.

해커로서 여러분은 쉘이 주석의 텍스트를 해석하지 않고 저장된 기록에서 명령줄을 검색하여 출력한다는 사실에 의존할 수 있습니다 #. 예를 들어, bash쉘 상호 작용을 사용합니다.

fc -l -0 | cut -d '#' -f3- > testfile #the text here with \ ' "

답변2

Linux 전용 응용프로그램은 아니지만cat인수 없이 실행하면 다음과 같은 작업이 수행됩니다. 표준 입력을 변경하지 않고 표준 출력에 복사합니다.

관련 정보