① 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 方面的背景知识会有所帮助,但是理解本文档并不假定或要求您具备此方面知识。