在任何Linux操作系统上复制shell脚本的常规文件路径

时间:2017-06-16 15:46:02

标签: linux shell filepath shortcuts subdirectory

我正在做一个打算在任何用户目录上复制的shell脚本。相同的脚本应该能够识别任何用户的目录结构。由于我不知道每个用户的目录结构,因此我无法识别父文件夹以在我的脚本中运行一些命令(脚本中的查找命令)。我非常感谢你的帮助。

正如您在下面的代码中所看到的,我有三种不同类型的路径~/Desktop/input_folder/source.txt~/Desktop/output_folder/FILE_${array[$i]}_${array[$((i+1))]}.txt../shares/path/FOLDER_WITH_MANY_FILES

第三条路径有一条我不知道位置的路线,因此我使用../告诉脚本假定父文件夹。对于第一条和第二条路线,我使用~/,因为路线位于/home/username/。我做得对吗?这些路由是否需要双逗号(" / path / blah")才能被shell读取?我很感激你的帮助。

谢谢!

我的代码:

   #!/bin/bash

#source file location
input=$(cat ~/Desktop/input_folder/source.txt )

#read file
IFS=',' read -r -a array <<< "$input"

        for((i=0;i<${#array[@]}-1;i+=2));do
                #Create the file
                touch ~/Desktop/output_folder/FILE_${array[$i]}_${array[$((i+1))]}.txt


                echo "Search result for these parameters [${array[$i]},${array[$((i+1))]}]: "$'\r' >> ~/Desktop/output_folder/FILE_${array[$i]}_${array[$((i+1))]}.txt

                #Find pattern and save it in file
                find ../shares/path/FOLDER_WITH_MANY_FILES  -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} + | tee -a ~/Desktop/output_folder/FILE_${array[$i]}_${array[$((i+1))]}.txt

0 个答案:

没有答案