我有一個文件中的名稱列表,我需要從中創建目錄。該列表看起來像從保留空格的列表創建目錄
Ada Lovelace
Jean Bartik
Leah Culver
我需要的文件夾是完全相同的,保留空白(s)。但隨着
awk '{print $0}' myfile | xargs mkdir
創建單獨的文件夾爲每個單詞
同樣的,
awk '{print $1 " " $2}' myfile | xargs mkdir
發生在哪裏的錯誤?
我有一個文件中的名稱列表,我需要從中創建目錄。該列表看起來像從保留空格的列表創建目錄
Ada Lovelace
Jean Bartik
Leah Culver
我需要的文件夾是完全相同的,保留空白(s)。但隨着
awk '{print $0}' myfile | xargs mkdir
創建單獨的文件夾爲每個單詞
同樣的,
awk '{print $1 " " $2}' myfile | xargs mkdir
發生在哪裏的錯誤?
使用gnu xargs
您可以使用-d
選項僅將分隔符設置爲\n
。這樣你也可以避免awk
。
xargs -d '\n' mkdir -p < file
如果沒有gnu xargs
做,那麼你可以使用tr
把所有\n
到\0
第一:
tr '\n' '\0' < file | xargs -0 mkdir
@birgit:嘗試:完全根據您的樣品INPUT_FILE提供。
awk -vs1="\"" 'BEGIN{printf "mkdir ";}{printf("%s%s%s ",s1,$0,s1);} END{print ""}' Input_file | sh
awk '{ system (sprintf("mkdir \"%s\"", $0)) }' YourFile
# OR
awk '{ print"mkdir "\"" $0 "\"" | "/bin/sh" }' YourFile
# OR for 1 subshell
awk '{ Cmd = sprintf("%s%smkdir \"%s\"", Cmd, (NR==1?"":"\n"), $0) } END { system (Cmd) }' YourFile