我遇到了这个问题。我还是个新手,我不知道如何将文件作为参数。
有一个班级的出勤名单(
class.dat
- 姓名;海王星代码)。在夏季结束时,他们还会举办盛大的派对,邀请宾客。派对的参与者在文件party.txt
(姓名;海王星代码)中给出。创建一个脚本together.sh
,其中包含姓名 fromclass.dat
和 fromparty.dat
,但每个姓名仅出现一次!脚本的参数应该是两个文件名。
答案1
Bash 脚本的命令行参数存储在特殊变量中,$1
第一个以空格分隔的参数是这个特殊变量,$2
第二个也是这个特殊变量,依此类推。
也可以看看TLDP 高级 Bash 脚本指南 - 4.4. 特殊变量类型(部分Positional parameters
)或man bash
(部分Parameters
)。
您应该记住始终将变量放在双引号内(如"$1"
),以避免如果变量包含空格则将它们拆分。
以下是一个例子:
#!/bin/bash
echo "The first file, $1, starts with these lines:"
head "$1"
echo "The second file, $2, ends with these lines:"
tail "$2"
为了从两个文件中提取所有独特的行,请查看sort
命令(类型man sort
),尤其是它的-u
选项……