shell讀取文件夾
㈠ 在windows中用shell遍歷一個文件夾下得所有文件並對文件執行同一個指令
你的for循環中循環的是$PATH ,他只是代表這個路徑,並不表示裡面的文件名。
㈡ shell怎麼遍歷一個文件夾下所有文件
# find . -type f
./a
./normal/log-1
./normal/log-2
./normal/log-3
通過find找到文件
那麼遍歷就用循環
for i in `find . -type f`
do
echo $i
done
㈢ linux shell遍歷當前文件夾中的txt文件並處理生成新的文件
先以a.txt為例:
awk-vRS=""'{
n=split($0,a,"《[^》]+》");
for(i=2;i<n;i+=2)
print"《keywords》"a[i]"《/keywords》"
}'a.txt>>./newfile/a.txt
這樣就行了。
為了可讀性,我將一條awk語句寫成了多行。
實際測試結果如下:
解說:
RS=""
將awk的記錄分隔符設置為空(默認是換行符),即將整個a.txt文本看做一條記錄。
n = split($0,a,"《[^》]+》");
以正則"《[^》]+》"匹配的內容作為分隔符,對文本內容進行分割並將分割結果存入數組a,分割出的數目(數組大小)即為split函數的返回值n。這里暫且不對該正則做過多解釋,否則喧賓奪主,有需要請追問,我再補充。
for(i=2;i<n;i+=2)
print "《keywords》"a[i]"《/keywords》"
列印數組下標為偶數的元素並在首尾分別加上關鍵字標記以還原。數組下標從1開始。
其他文件可作相同處理。如果文件較多,你可以搞個循環去做。這個應該不難。
㈣ Shell獲取某目錄下所有文件夾的名稱
方法有三,如下:
㈤ shell腳本,獲取目錄的結構,保存到文件
使用遞歸的shell腳本沒有find效率高。find 是為目錄搜索而優化過的程序。
#!/bin/bash
DIR="$1"
if [ -z "$2"] ;then
echo "must set 2st argument for output file ." >& 2
exit 1
fi
OUT="$2"
DIR=$(readlink -m "$DIR")
#轉換成絕對路徑
find "$DIR" -type "d" >"$OUT"
#搜索目錄保存到輸出文件。
㈥ linux shell 查找特定文件夾下,第一級目錄,最新生成的文件夾
ls -alt #文件夾名#,這個是降序排列,如果要找最新的,補上管道符號就成了
ls -alt #文件夾名# | head -n 5 ##列出的是最新改動的四個,第一行記錄總用量,所以只有4個
㈦ shell怎麼讀取文件夾中的文件名
#!/bin/bash
forfilein`lsfolder`
do
echo$file
done
文件夾名換成實際地址,
file變數有可能是子文件夾,處理前需要進行判斷
㈧ linux shell如何獲取最新修改的文件或者文件夾
mmin過去幾分鍾前修改、創建的文件,(-n)為幾分鍾內
㈨ Shell腳本得到文件夾大小
ls -ld 文件夾路徑 | awk '{print int($5/1024)}'
或者:
-b 文件夾路徑 | awk '{print int($1/1024)}'
跟你上面計算文件大小類似,得到的都是以KB為單位的大小。
如果要以Byte為單位,不要除以1024也不要int取整就是了。
注意:Linux的ext2或ext3文件系統會給目錄分配一個inode塊(索引節點),用來記錄文件信息,所以文件夾的大小不是簡單地將其中文件大小累加就能得到的,還包括了這個索引節點的大小。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。
㈩ 如何用shell獲取linux目錄下的文件名
獲取所有常規文件的文件名並列印出來的腳本listfile.sh如下
#!/bin/bash
dir="/*"
dir=$1$dir
for f in $dir
do
if [ -f $f ]
then
echo $f
fi
done
使用方法:
$ listfile.sh PATH
原理:
PATH參數是路徑,將路徑後加上「/*」,代表該目錄下的所有文件和目錄名,利用for循環比較每個文件是否是常規文件( -f比較運算符),若if表達式為真則列印
舉例:
ls -l
total 36
-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaa.sh
drwxrwxr-x 2 lipeng lipeng 4096 May 4 2015 byteorder
drwxrwxr-x 8 lipeng lipeng 4096 May 3 2015 hello
-rwxrwxr-x 1 lipeng lipeng 122 Nov 29 20:16 listfile.sh
-rw-rw-r-- 1 lipeng lipeng 177 Aug 1 03:10 main.cpp
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrix
drwxrwxr-x 5 lipeng lipeng 4096 Apr 28 2015 modbus
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtest
drwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test
$ ./listfile.sh .
./aaa.sh
./listfile.sh
./main.cpp