在shell中進行文件操作時,我們很多時候想對文件名進行截取,例如去掉文件名的後綴,而只保留剩餘的部分。下面介紹使用 ${} 來完成上述任務。
我們想對 share/home/jianshu_test.txt 進行操作,輸出下列內容:
要完成這個任務,可以首先把 jianshu_test.txt 提取出來:
然後再進行截取:
記住兩個原則:
此外:
『貳』 shell程序查找出a文件夾中的最後修改的文件,並讀出文件名,用變數保存
filename=`ls /home/test/ -ltr |tail -1|awk '{print $NF}'`
/home/test/ 替換為你的目錄 -ltr就是按修改時間排序 tail -1 取最回後一行 awk用於取文件名答
『叄』 shell獲取目錄下最新的文件,文件是以日期命名
1、打開Python開發工具IDLE,新建『dir.py』,並寫代碼如下。
『肆』 shell腳本查找文件名中不包含abc的文件
ls-l|grep^-|grep-vabc|awk'{print$9}'
『伍』 shell編程(linux )中如何獲得當前滑鼠選中的文件名
腳本中寫:
cp-l$1/home/dydpc/MyFile/$1.bak
『陸』 求助大神:編寫一個shell 腳本 ,移動某個文件夾下的文件到各自的日期組成的目錄下
1、主要是從文件名截取出日期,如果固定了位數
2、可以先按_分割取第二段
echo $file|awk -F\_ '{print $2}'
3、然後再取第4位後面的8位
4、例如:vi a.sh
#!/bin/sh
for file in `ls *.jpg`;do
echo $file
datedir=$(echo $file|awk -F\_ '{print $2}'|awk '{print substr($1,4,8)}')
mkdir $datedir
/bin/mv $file $datedir
done
『柒』 shell 如何判斷某個文件名以某個字元開頭
ls file|cut -c 1
這樣切一個字母出來
或者ls|grep "^a"|wc -l