如果文件路径具有通配符(*),则无法创建或复制文件

时间:2019-03-28 11:22:28

标签: linux bash unix

我正在创建脚本,在该脚本中我将在路径中找到一个可执行脚本,一旦找到该脚本,我将向后退两步并转到另一个目录进行备份,但是在cd到该目录的同时,我将使用星号通配符在目录名称Cell中,但在创建新文件或复制文件等时不接受带通配符的/ Cell /。我认为与其将星号视为通配符,还不考虑将星号视为通配符本身。

以简单的方式理解。我只需触摸命令即可重新创建。

有人可以帮我解决这个问题吗?

使用 Cell

的文件列表
# ls -lrt /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/*Cell*/admin-authz.xml
-rw-rw-r-- 1 wasadm wasadm 84047 Mar 28 06:14 /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/lmsdqndpv01Cell07/admin-authz.xml`

使用 Cell

创建文件失败
`# touch /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/*Cell*/test
touch: cannot touch ‘/usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/*Cell*/test’: No such file or directory`

使用* lmsdqndpv01Cell07创建文件

`# touch /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/lmsdqndpv01Cell07/test`

使用 Cell

的文件列表
`# ls -lrt /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/*Cell*/test
-rw-r--r-- 1 root root 0 Mar 28 07:00 /usr/WebSphere/AppServer70/profiles/Dmgr01/bin/../config/cells/lmsdqndpv01Cell07/test

2 个答案:

答案 0 :(得分:0)

我通过下面的命令实现了这一目标,但想知道是否有任何简单的方法可以做到这一点。

for file in $(find $bin/../config/cells/*Cell*/ -name admin-authz.xml) ;
  do
    cp $file "$file"_"$LanID"_consoleaccess_`date '+%Y-%m-%d-%H:%M'`
  done

答案 1 :(得分:-1)

尝试这样的事情:

None