Вы можете использовать такую команду:
sed -e 's/\///g' < file.txt | xargs mkdir
Команда sed
удалит символы новой строки из file.txt и конвейер до xargs
будут запускать mkdir
для каждой строки в файле.
Эквивалентная команда (предложенная don_crissti) с использованием tr
вместо sed
:
tr -d / < file.txt | xargs mkdir
Вы также можете сделать это с помощьюgrep
:
grep -oP '(?<=:)\w+'
grep -o ':[a-z]\+' | tr -d :
white
green
Если вы хотите, чтобы выходные данные отображались в виде списка, разделенного запятыми -, направьте канал на paste
, например.:
grep -o ':[a-z]\+' | tr -d : | paste -sd, -
Выход:
white,green