【发布时间】:2015-01-08 02:28:13
【问题描述】:
我有一个包含多行数据的文本文件 (file1.txt)。
我用来将数据从目录 A 复制到另一个 B 的这个文本文件。我的脚本查看表达式是否包含在存储在 A 中的文件的文件名中。
在目录 A 中,我 grep 另一个文本文件 (file2.txt) 以获取我想在脚本中排除的信息(行如 [bla][0-9][0-9][bla][0-9][0-9])。
set x = `grep '[bla][0-9][0-9][bla][0-9][0-9]' file1.txt`
foreach i ( $x )
cp A/*$i* B/.
end
例如 file1.txt 中的行:
bla11bla11
bla12bla12
bla13bla13
bla14bla14
bla15bla15
和 grep 来自 file2.txt 的结果,必须为循环排除
bla11bla11
bla12bla12
我的脚本最终应该只使用以下几行
bla13bla13
bla14bla14
bla15bla15
我该怎么做?
【问题讨论】:
-
你从哪里得到的语法?
-
这似乎是
csh语法(或类似的语法)。 -
更改标签是个好主意吗? Stefan,你能澄清一下你在哪个 shell 中工作吗?
-
这是一个 C-shell 脚本
-
将第一行设为
/bin/csh -vx以查看正在执行的内容和时间。这将向您显示在执行每一行代码时每个变量使用了哪些值。祝你好运。