【问题标题】:Why I am getting whole path, I want only recently created directory name instead of whole path?为什么我得到整个路径,我只想要最近创建的目录名而不是整个路径?
【发布时间】:2020-04-23 12:50:41
【问题描述】:

我编写了一个脚本来使用 inotify 监视特定目录。如果创建了任何新目录。我想用“z.sh”文件中新创建的目录名替换它。但是我在使用下面的脚本时得到了整个路径而不是目录名。

#!/bin/sh
MONITORDIR1="/var/lib/clickhouse/data/"
monitor() {
inotifywait -m -r -q  $MONITORDIR1 | while read NEWFILE
do
echo "NEW FOLDER CREATED"
cp /home/boctrainee/clickhousescriptold.sql /home/boctrainee/clickhousescript.sql
echo "${NEWFILE#*/*/*/*/*/}"
sed -i -e "s+NEWFILE#*/*/*/*/*/+$NEWTENANTNAME+g" /home/boctrainee/clickhousescript.sql
done
}
monitor $MONITORDIR1 &

请提出您的建议

【问题讨论】:

    标签: linux bash shell scripting


    【解决方案1】:

    如果您想知道文件$NEWFILE(给出完整路径)在哪个目录中,只需发出:

    directory=$(dirname "$NEWFILE")
    

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 2020-04-04
      • 2015-07-24
      相关资源
      最近更新 更多