自定義cp命令 當目標資料夾不存在時先建立

2021-09-02 05:27:59 字數 1056 閱讀 2940

# 檔案複製:如果目標資料夾不存在,先建立

# 第乙個引數是原始檔路徑,包括檔名;第二個引數是目標檔案路徑,包括新檔名

使用方式 ./cp1 /user/liushilei/old/file.txt /user/liushilei/new/new_file.txt

#!/bin/sh

source=$1

des=$2

# 計算/分隔之後總共有多少列

fields=`echo $|awk -f '/' ''`

dir_fields=$(($-1))

# 從第一列擷取到倒數第二列

des_dir=`echo $des|cut -d '/' -f 1-$`

echo $

if [ ! -d $des ];then

mkdir -p $des_dir

ficp $source $des

注:

這個**麻煩在於在目標檔案路徑中,找到資料夾的路徑,就是找到最後乙個/之前的部分

開始我想用cut -d '/' -f 1,5 這樣直接擷取指定段,但是/分隔之後總共有幾段無法計算出來

然後我想找乙個能直接擷取到倒數第二個field的cut寫法,但是沒找到

最後實在無奈,我先用awk計算一下/分隔之後總共有幾列

下面附上cut的其他幾個用法

# 分隔之後是個陣列,取第二個field

echo "/user/local/liushilei/file.txt"| cut -d '/' -f 2

# 取第乙個到到第三個

echo "/user/local/liushilei/file.txt"| cut -d '/' -f 1-3

# 取第乙個開始後到所有

echo "/user/local/liushilei/file.txt"| cut -d '/' -f 1-

# 取第乙個到第三個和第五個

echo "/user/local/liushilei/file.txt"| cut -d '/' -f 1-3,5 

# 我還沒找到取第乙個到倒數第二個的寫法

自定義資料夾瀏覽控制項類

檔案對話方塊屬於通用對話方塊範疇 另外還有顏色,查詢,查詢替換,字型,列印等對話方塊 借助mfc現成的類cfiledialog你可以輕易操作檔案對話方塊。cfiledialog dlg true,t txt t b.txt ofn filemustexist ofn hidereadonly,t 文...

資料夾 檔案 路徑 等常見操作 自定義庫

import shutil import os class directory hanlder 資料夾管理庫 def init self pass 檢查 建立路徑,返回值 true false classmethod def check directory cls,dir path,create t...

為資料夾新增自定義詳細資訊

這個可以實現的,方法是在該資料夾內新建乙個名為desktop.ini的檔案,編輯該desktop.ini的內容如下 shellclassinfo infotip 你滑鼠放上去的時候要顯示的提示資訊文字內容 然後,將desktop.ini的檔案屬性設為隱藏和系統,同時,在cmd下執行 attrib r...