linux遍歷文件夾
你可以參考如下實例代碼:
functiongetFile(file_name)
localf=assert(io.open(file_name,'r'))
localstring=f:read("*all")
f:close()
returnstring
endfunctionwriteFile(file_name,string)
localf=assert(io.open(file_name,'w'))
f:write(string)
f:close()
end--從命令行獲取參數,如果有參數則遍歷指定目錄,沒有參數遍歷當前目錄ifarg[1]~=nilthen
cmd="ls"..arg[1]
else
cmd="ls"endprint("cmd",cmd)
--io.popen返回的是一個FILE,跟c裡面的popen一樣locals=io.popen(cmd)
localfileLists=s:read("*all")
print(fileLists)
whiletruedo--從文件列表裡一行一行的獲取文件名_,end_pos,line=string.find(fileLists,"([^ ]+.txt)",start_pos)
ifnotend_posthenbreakend--print("wld",line)localstr=getFile(line)
--把每一行的末尾1,替換為0,localnew=string.gsub(str,"1, ","0, ");
--替換後的字元串寫入到文件。以前的內容會清空writeFile(line,new)
start_pos=end_pos+1end
Ⅱ linux遍歷文件夾所有文件內容linux遍歷文件
Linux獲取文件名稱和文件路徑並寫入txt?
>自己寫的create_filelist.sh文件,如下
1、find命令:
find後跟一個存放想要查找的文件的地址,然後後面是-name參數,其後的參數代表文件名稱*.jpg就是代表所有的jpg文件了。
『>'符號代表輸出到文件,此處輸出到制定的txt文件中。
2、sed命令:
-i代表直接修改讀取的文件內容,而非輸出到終端
引號中內容代表替換,$代表在文件最後替換,後面跟了一個空格和數字代表每行字元後加空格和數字,代表文件對應的標簽序號。
linux無法讀取NTFS文件格式?
CentOS用戶在進行ntfs磁碟設備讀取的時候,發現這類格式的驅動文件無法讀取,且掛載失敗,出現這個問題的主要原因是CentOS不支持ntfs格式,下面以CentOS6.4為例,介紹下CentOS6.4讀取不了ntfs磁碟設備的解決方法。問題:使用的是雙系統Win7和CentOS6.4。在CentOS中無法識別win7中的硬碟。但是manmount的時候,在-t參數中有ntfs的選項。但是掛載的時候總是提示出錯。mount-tntfs/dev/sda1/mediamount:unknownfilesystemtype『ntfs』經過查找得知,CentOS默認是不安裝ntfs格式的文件系統的驅動文件。解決方法:我們可以安裝一個ntfs-3g來讓CentOS支持ntfs格式的文件系統。去下載一個最新的穩定版本的ntfs-3g。下載ntfs-3g_ntfsprogs-2013.1.13.tgz轉到下載的位置,#tar-xzfntfs-3g_ntfsprogs-2013.1.13.tgz#cdntfs-3g_ntfsprogs-2013.1.13#。/configure#make#makeinstallntfs-3g但是這個的掛載方法不是,mount-tntfs/dev/sda1/media而是mount-tntfs-3g/dev/sda1/media。感覺有點怪。如果想開機啟動自動掛載,可以通過/etc/fstab文件實現。首先通過fdisk-l查看所有的分區信息。/dev/sda1*1652852436128+7HPFS/NTFS/dev/sda2652916972838914307HPFS/NTFS/dev/sda31697327416838914307HPFS/NTFS/dev/sda4274173891492350464fW95Ext『d(LBA)/dev/sda52741733791512000007HPFS/NTFS/dev//Solaris/dev/sda7349663500430720083Linux/dev/sda835004389143140198483Linux發現sda1、sda2、sda3、sda5都是ntfs,你可以根據自己的需要掛載。在/etc/fstal中掛載設備的書寫格式如下。格式是設備掛載目錄文件格式default00比如我現在要將/dev/sdb1掛載到/media/ntfs我們首先檢查/media/ntfs,不存在新建目錄,否則將會失敗在/etc/fstab中添加下面內容(如果之前存在對應的掛載目錄就先備份之前的文件,然後修改對應為。)/dev/sdb1/media/ntfsdefaults00保存文件,重啟系統即可。
linux如何提取文件每一行生成新的文件?
通過循環讀取文件每一行和重定向符>>來實現提取文件每一行生成新的文件。
unix/linux如何讀取一個文件的存儲許可權?
unix/linux通過命令ls-a來讀取一個文件的存儲許可權,通過命令chown來修改文件的存儲許可權。
linux文件執行語句內容如何獲取?
定向輸出到log文件中
Ⅲ linux shell 遍歷文件夾 並將結果保存 到變數
#!/bin/bash
(($#<1))&&echo"paramiszero!"&&exit1
[!-d$1]&&echo"$1notpath"&&exit1
dir=$1
dir_p="$dirDirectory:"
cd$dir
dir=`pwd`
foriin`ls$dir`
do
if[-d$i];then
/tmp/sh/dir_file$i#我的腳本文件在/tmp/sh中,需要改一下這里
else
dir_p="$dir_pFile$i"
fi
done
cd..
echo$dir_p
實驗結果:
[root@localhost sh]# ./dir_file /tmp/python/
python_2 Directory : File 1.log File 2.log
python_3 Directory : File 3.log
/tmp/python/ Directory : File p File t.py File y.py
這樣應該可以吧,試試看