Linux에서 임의의 .txt(ascii와 같이 사람이 읽을 수 있는 텍스트) 파일을 만드는 방법

Linux에서 임의의 .txt(ascii와 같이 사람이 읽을 수 있는 텍스트) 파일을 만드는 방법

사람이 읽을 수 있는 임의의 텍스트 데이터를 포함하는 텍스트 파일을 만들어야 합니다. 나는 우리가 무작위 데이터를 얻기 위해 사용할 수 있다는 /dev/urandom것을 알고 있습니다. /dev/random하지만 사람은 읽을 수 없습니다. 임의의 텍스트 형식이 포함된 파일을 만들어야 합니다. 그렇게 할 수 있는 방법이 있나요?

답변1

다음 명령으로 할 수 있습니다

base64 /dev/urandom | head -c 10000000 > file.txt

이름이 file.txt 크기인 10MB의 파일을 생성합니다.

답변2

다음의 출력을 얻습니다.

tr -dc A-Za-z0-9 </dev/urandom 

그리고 파일로 파이프하세요.

당신이 사용할 수있는머리-c 또는 -n을 사용하여 파일 크기를 제한하는 명령

1kB 파일 a.txt를 생성하는 예:

tr -dc A-Za-z0-9 </dev/urandom | head -c 1024 > a.txt

답변3

패키지 wamerican는 아래에서 사용 가능한 단어 사전을 제공합니다 /usr/share/dict/words.

다음 트릭을 사용하여 이를 사용할 수 있습니다.

cat /usr/share/dict/words | sort -R | head -1024 > file.txt

기하학을 지정하지 않았다는 점에 유의하십시오(한 줄에 몇 개의 단어가 있는지, 몇 줄이 있습니까?).

답변4

base64영숫자 문자 플러스 /및 만 출력하는 것 같습니다 +.

나는 더 많은 "구두점" 문자를 얻기 위해 이것을 좋아합니다.

'[:punct:]'
  Punctuation characters; in the 'C' locale and ASCII character
  encoding, this is ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
  ] ^ _ ` { | } ~

따라서 다음을 사용하십시오.

'[:graph:]'
     Graphical characters: '[:alnum:]' and '[:punct:]'

tr작은따옴표 ' 백틱 ` 및 백슬래시 \를 제거하는 데 사용합니다 .

tr -dc '[:graph:]' < /dev/urandom | tr -d \''\\'\` | head -c [size]

크기 -c옵션에는 head승수 접미사를 가질 수 있습니다: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 등 T, P , E, Z, Y.

관련 정보