① shell 命令如何實現獲取文件名,
cd '/home/'
names=`ls`
for name in ${names[@]}
do
if [ -f $name ]
then
echo $name
fi
done
② 用shell命令,查找當前文件夾下,文件名以UTCIF開頭的,文件名中有包含日期,取最新的那個。
find.-name"UTCIF*"|sort|tail-n1
③ 如何用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
④ shell 編寫一程序,列出當前目錄下指定文件的文件名,文件的首行為#!/bin/bash
#!/bin/bash
forfilein./*
do
iftest-f$file
then
name=`basename$file`
first_line=`sed'1!d'$file`
if["$first_line"=="#!/bin/bash"]
then
echo$name
fi
fi
done
我解釋下代碼,首先,在for循環中遍歷當前目錄下的所有文件,然後回外層的if判斷答當前文件類型,如果是文件,則使用basename $file用來獲取當前文件的文件名(包括拓展名)並賦值給變數name中,然後使用sed '1!d' $file獲取文件第一行的內容並賦值給變數first_line,再在內層的if中判斷第一行的內容是否是「#!inash」,如果是,則列印該文件的文件名。
ps:我也是剛學shell,寫了半天才整出來,就當是自己也順便練手了,哈哈。
我在我電腦上測試了下,沒有問題,如果你還有問題請追問。
⑤ shell怎麼用文件名查找文件位置
題主你好,
使用命令: find
具體格式: find / -name 文件名
命令格式解釋:
find: 查找文件時使用的命令;
/ :斜杠相當於windows下的全盤搜索;
-name 文件名: 這兩個是一起的, -name參數告訴find命令使用 "文件名" 進行搜索.
總結: 使用find命令,全盤搜索名稱為"文件名"的文件, 返回的結果是相應文件名的絕對路徑.
----
舉例來說:
我的系統上有一個文件叫car, 但我不知道這個文件在哪,則可以使用下面命令進行搜索:
可以看到, 返回的搜索結果為/root/ok/car, 也就是說我要找的car文件在/root/ok目錄下.
-----
希望可以幫到題主, 歡迎追問.
⑥ Linux的shell腳本中如何獲得指定目錄下的文件名
#/bin/bash
ls/home/user/test>txt
echo"該目錄中有文件"`head-1txt`
rm-rftxt
⑦ shell 顯示腳本文件名.
會!
有兩種方法:
echo $0 (快捷方法,bash內置一些縮寫變數)
echo $BASH_SOURCE (根本方法, bash 的Shell Variables , 更多的Shell Variables 可以看看 man bash)
⑧ shell剪切ls輸出出某個文件名
在路徑1下用ls命令(ls:列出目前工作目錄所含之文件及子目錄)查看一下當前目錄的內容,
一共包含三個文件:
file1 (文件)、file11(文件夾)、test.sh(shell腳本,也是我們的執行腳本),
第二條命令【./test.sh】執行了test.sh腳本,輸出結果如圖所示,列出了當前路徑(路徑1)的所有文件名。
下面看一下test.sh內容:
#!/bin/sh
file=$1
ls $file
登錄後復制
第二行是將$1變數賦給file,
$+數字 一般是位置參數的用法,如果運行腳本的時候帶參數,那麼可以在腳本里通過 $1 獲取第一個參數,$2 獲取第二個參數......依此類推,一共可以直接獲取9個參數(稱為位置參數)。
$0用於獲取腳本名稱,腳本內容更改為$0的時候,如下:
#!/bin/sh
file=$0 #位置參數,輸出腳本名字
ls $file #輸出變數file內容
登錄後復制
輸出結果會顯示本執行腳本的名字:
折疊屏手機的時代來了
精選推薦
廣告
⑨ powershell模糊查找文件名
使用通配符。PowerShell 是一種命令行外殼程序和腳本環境。Powershell中的通配符可以實現模糊查找, 也就是說可以對一組項(而不是單個項)進行查找。Windows PowerShell 入門主要面向之前沒有 Windows PowerShell 背景知識的 IT 專業人員、程序員和高級用戶。雖然具備腳本和 WMI 方面的背景知識會有所幫助,但是理解本文檔並不假定或要求您具備此方面知識。