读取指定的文件行并从已经获取该文件的单词创建新目录

时间:2015-04-23 13:57:22

标签: linux bash scripting debian

for file in $*
head -n 1 $file | while read folder
do
mkdir $directory $folder
done

大家好,我的脚本有问题。我想要做的是:从我指定的文件中读取第一行,并从我从该文件中获取的单词在我指定的目录中创建新目录。

我收到这样的错误:

./scriptas: line 2: syntax error near unexpected token `head'
./scriptas: line 2: `head -n 1 $file | while read folder'

我的第二个问题:如何从命令行(putty)$ directory?

添加第二个变量

示例i包含文本文件:

one two three
five seven nine eleven
okey

我需要脚本来获取第一行并创建目录"一个" " 2" "三"

2 个答案:

答案 0 :(得分:0)

更新了脚本。您可以这样使用它: script.sh“one.txt two.txt three.txt”destdir

...
...
childSelector: 'span',
...
...

答案 1 :(得分:0)

你必须在for / while循环中将命令放在命令之前。

您的代码应如下所示:

#!/bin/bash

files=$*

for file in $files
do
head -n1 "$file" | while read dname
do
mkdir $dname
done
done

对于其他变量,简单语法是$符号后面的数字。

所以你可以做到

files="$1"
directory="$2"

然后以

运行脚本
./script.sh "file1.txt file2.txt file3.txt" dir2

更复杂的解决方案包括getopts等....