
README.md 파일을 모두 포함하는 고유한 이름의 디렉터리를 약 100개 만들고 싶습니다. 나는 다음을 포함하는 텍스트 파일 "PICOCTF.txt"를 사용하여 이 작업을 시도했습니다.
vault-door-1
whats a net cat
strings it
Easy1
logon
13
caesar
dont-use-client-side
Bases
First Grep
So Meta
shark on wire 1
extensions
What Lies Within
la cifra de
picobrowser
asm1
Tapping
Flags
Based
Mr-Worldwide
plumbing
vault-door-3
rsa-pop-quiz
Client-side-again
Pitter, Patter, Platters
Web Gauntlet
asm2
m00nwalk
WhitePages
c0rrupt
vault-door-4
like1000
Guessing Game 1
droids0
mus1c
m00nwalk2
waves over lambda
messy-malloc
flag_shop
Investigative Reversing 0
asm3
miniRSA
vault-door-5
reverse_cipher
Irish-Name-Repo 1
shark on wire 2
Guessing Game 2
OTP Implementation
Investigative Reversing 2
droids1
Investigative Reversing 1
WebNet0
vault-door-6
seed-sPRiNG
Irish-Name-Repo 2
1_wanna_b3_a_r0ck5tar
b00tl3gRSA2
asm4
Irish-Name-Repo 3
JaWT Scratchpad
Java Script Kiddie
Need For Speed
Investigative Reversing 4
B1ll_Gat35
droids2
vault-door-7
AES-ABC
Investigative Reversing 3
vault-door-8
droids3
Java Script Kiddie 2
WebNet1
investigation_encoded_1
b00tl3gRSA3
john_pollard
droids4
Forky
investigation_encoded_2
sice_cream
B1g_Mac
zero_to_hero
명령줄과 텍스트 파일 디렉터리에서 다음 명령을 실행하여 디렉터리를 생성합니다.
xargs -a PICOLIST.txt -d '\n' mkdir
또는 (둘 다 동일한 결과를 가짐)
while read -r line; do mkdir -p "$line" ; done < PICOLIST.txt
그것들을 만드는 데는 효과가 있지만 작은 문제가 하나 있습니다. 알고 있는 디렉토리만 생성한다는 것을 알고 있지만 실행하면 끝에 (null?) 특수 문자가 있는 파일이 표시됩니다. 해당 문제를 일으킬 수 있는 모든 항목을 제거하기 위해 텍스트 파일을 포맷했기 때문에 이것이 Windows 파일 시스템에 문제가 있는지는 모르겠습니다(적어도 제 생각에는). 예를 들어:
이는 명령이 실행되기 전입니다.
이는 실행된 명령 이후입니다.
보시다시피 모든 폴더 이름 뒤에는 특수 문자(별표? 널 바이트? xargs의 새 줄을 해독하는 데 문제가 있습니까?)가 있습니다.
내 계획은 터미널에서 이 텍스트 파일을 사용하여 다음 코드를 실행하는 것입니다.
xargs -a PICOLISTFILL.txt -d '\n' touch
vault-door-1/README.md
whats a net cat/README.md
strings it/README.md
Easy1/README.md
logon/README.md
13/README.md
caesar/README.md
dont-use-client-side/README.md
Bases/README.md
First Grep/README.md
So Meta/README.md
shark on wire 1/README.md
extensions/README.md
What Lies Within/README.md
la cifra de/README.md
picobrowser/README.md
asm1/README.md
Tapping/README.md
Flags/README.md
Based/README.md
Mr-Worldwide/README.md
plumbing/README.md
vault-door-3/README.md
rsa-pop-quiz/README.md
Client-side-again/README.md
Pitter, Patter, Platters/README.md
Web Gauntlet/README.md
asm2/README.md
m00nwalk/README.md
WhitePages/README.md
c0rrupt/README.md
vault-door-4/README.md
like1000/README.md
Guessing Game 1/README.md
droids0/README.md
mus1c/README.md
m00nwalk2/README.md
waves over lambda/README.md
messy-malloc/README.md
flag_shop/README.md
Investigative Reversing 0/README.md
asm3/README.md
miniRSA/README.md
vault-door-5/README.md
reverse_cipher/README.md
Irish-Name-Repo 1/README.md
shark on wire 2/README.md
Guessing Game 2/README.md
OTP Implementation/README.md
Investigative Reversing 2/README.md
droids1/README.md
Investigative Reversing 1/README.md
WebNet0/README.md
vault-door-6/README.md
seed-sPRiNG/README.md
Irish-Name-Repo 2/README.md
1_wanna_b3_a_r0ck5tar/README.md
b00tl3gRSA2/README.md
asm4/README.md
Irish-Name-Repo 3/README.md
JaWT Scratchpad/README.md
Java Script Kiddie/README.md
Need For Speed/README.md
Investigative Reversing 4/README.md
B1ll_Gat35/README.md
droids2/README.md
vault-door-7/README.md
AES-ABC/README.md
Investigative Reversing 3/README.md
vault-door-8/README.md
droids3/README.md
Java Script Kiddie 2/README.md
WebNet1/README.md
investigation_encoded_1/README.md
b00tl3gRSA3/README.md
john_pollard/README.md
droids4/README.md
Forky/README.md
investigation_encoded_2/README.md
sice_cream/README.md
B1g_Mac/README.md
zero_to_hero/README.md
제가 사용하고 있는 두 텍스트 파일은 모두 "Unix(LF)"로 설정된 notepad++에서 만들어졌습니다.
어떤 도움이라도 대단히 감사하겠습니다!
답변1
가설: PICOLIST.txt
DOS/Windows 줄 끝(CRLF, \r\n
)을 사용합니다.
시도한 두 명령( read
, xargs
) 모두 Unix 줄 끝(LF, \n
)을 예상합니다. 그들은 \r
일반 캐릭터로 취급됩니다. 귀하의 경우에는 매번 \r
전달되는 문자열에 포함됩니다 .mkdir
dos2unix
파일을 변환하는 데 사용합니다 .
Windows에서 해당 파일을 편집해야 하는 경우 Unix 줄 끝을 선택할 수 있는 편집기를 사용하십시오. dos2unix
현재 파일을 수정하는 대신 이 기능이 있는 편집기를 사용할 수 있습니다 .
아마도 PICOLISTFILL.txt
유사하게 "결함"이 있을 수 있습니다.
답변2
txt 파일을 원래 형식으로 유지하려면 xargs 명령 앞에 다음을 붙일 수 있습니다.
cat PICOLISTFILL.txt | dos2unix | xargs ...
이 방법을 사용하면 xargs 부분에 "-a" 또는 "-d" 플래그가 필요하지 않습니다.