Linux

以程式方式創建名稱基於值的文件夾

  • February 10, 2021

我需要創建 10.000 個名為 的文件夾a0_value,其中的值是從.txt文件中讀取的。

.txt文件排列在 2 列中。它正好有 10.000 行。

值總是從第二列中提取。

所以第一個文件夾將被命名a0_value1,其中 value1 是文件中第二列的第一個值,.txt依此類推。

我想在bash腳本中執行此操作。我從來沒有寫過這樣的劇本。

我明白了cdmkdir$得到了一個變數的值。我知道我需要寫#!/bin/bash在劇本的開頭。

拜託,你能幫我做這件事嗎?

bash 版本是 >(大於)4.0。謝謝!

如果我理解正確,內容file.txt類似於

abcde  12345
abc    5a3bg2
gdrr   something

等,並且您要創建文件夾a0_12345,a0_5a3bg2a0_something

所以我會使用:

awk '{ print "mkdir a0_" $2 }' file.txt | bash

如果您只需要執行一次,它甚至不必在腳本中。只需在命令行上鍵入以上內容。

注意:當然,這假設在任何一列的任何地方都沒有空格**,並且沒有file.txt可能對 shell 造成麻煩的“特殊”字元,例如,,,,,,,**'等等。是文件夾名稱。"``?``*``<``>``&

引用自:https://unix.stackexchange.com/questions/633697