리눅스에서 임의의 .txt (아스키와 같은 인간이 읽을 수있는 텍스트) 파일을 만드는 방법


43

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


1
실제 의미에서와 같이 "인간이 읽을 수 있습니까?" 전체 문장? 아니면 그냥 사전 단어?
slhck

"무작위"의 정의와 달성하려는 것에 따라 Linux에서 사용 가능하거나 Linux에서 액세스 할 수있는 여러 Lorem Ipsum 생성기가 있으며 종종 배포 저장소에서 다운로드 할 수 있습니다. lorem ipsum 생성기와 같은 것이 있습니까?를 참조하십시오 . , 오프라인 lorem ipsum 생성기 , aur.archlinux.org/packages/lorem-ipsum-generator
fixer1234

답변:


93

다음과 같은 명령으로 할 수 있습니다

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

이름이 file.txt 인 파일의 크기는 10MB입니다.


1
이것도 훌륭합니다. 또한 76 자마다 줄 바꿈을 추가합니다.
wisbucky

15

출력을 얻으십시오 :

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

파일로 파이프하십시오.

head 명령을 -c 또는 -n과 함께 사용 하여 파일 크기를 제한 할 수 있습니다

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

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

[:alnum:]대신에 사용할 수도 있습니다 A-Za-z0-9. 또한 공백과 줄 바꿈을 뿌리고 싶다면 다음과 같이 변형하면됩니다.tr -dc '[:alnum:] \n' ...
wisbucky

4

base64단지 출력 영숫자 문자를 더한 것 같습니다 /+.

나는 더 많은 "발음"문자를 얻는 것을 좋아합니다.

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

따라서 이것을 사용하십시오 :

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

tr작은 따옴표 'backticks`및 backslash \를 제거 하는 데 사용 합니다.

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

승수 접미사를 가질 수 있는 -csize 옵션 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.


3

/ dev / urandom이없는 경우 (GitBash 콘솔을 사용하고 있기 때문에) 다음을 사용할 수 있습니다.

openssl rand 33000 -base64 -out dump.txt

3

실제 사전 단어를 고수하려면 해당 트릭을 사용하십시오.

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

지오메트리를 지정하지 않습니다 (한 줄에 몇 단어, 몇 줄)?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.