文件管理 · 2022年7月25日

shell当前文件名|Linux的shell脚本中如何获得指定目录下的文件名

㈠ shell获取目录下最新的文件,文件是以日期命名

1、打开Python开发工具IDLE,新建‘dir.py’,并写代码如下。

㈡ shell 编写一程序,列出当前目录下指定文件的文件名,文件的首行为#!/bin/bash

#!/bin/bashforfilein./*doiftest-f$filethenname=`basename$file`first_line=`sed'1!d'$file`if["$first_line"=="#!/bin/bash"]thenecho$namefifidone

我解释下代码,首先,在for循环中遍历当前目录下的所有文件,然后回外层的if判断答当前文件类型,如果是文件,则使用basename $file用来获取当前文件的文件名(包括拓展名)并赋值给变量name中,然后使用sed '1!d' $file获取文件第一行的内容并赋值给变量first_line,再在内层的if中判断第一行的内容是否是“#!inash”,如果是,则打印该文件的文件名。

ps:我也是刚学shell,写了半天才整出来,就当是自己也顺便练手了,哈哈。

我在我电脑上测试了下,没有问题,如果你还有问题请追问。

㈢ shell编程(linux )中如何获得当前鼠标选中的文件名

脚本中写:

cp-l$1/home/dydpc/MyFile/$1.bak

㈣ shell 显示脚本文件名.

会!有两种方法:echo $0 (快捷方法,bash内置一些缩写变量)echo $BASH_SOURCE (根本方法, bash 的Shell Variables , 更多的Shell Variables 可以看看 man bash)

㈤ Linux的shell脚本中如何获得指定目录下的文件名

cdxxfornamein*.c;domv$name./work/${name%.c}.app#仅对xx目录的c文件有效,希赛里有很多脚本编程知识的。我都是去那里看的。

㈥ 如何在shell中得到“当前目录”

lsls-a

使用ls命令,ls命令可以不带参数,也可以带参数,以下是参数的作用:

-a列出目录下的所有文件,包括以.开头的隐含文件。

-b把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c输出文件的i节点的修改时间,并以此排序。

-d将目录象文件一样显示,而不是显示其下的文件。

-e输出时间的全部信息,而不是输出简略信息。

-f-U对输出的文件不排序。

-g无用。

-i输出文件的i节点的索引信息。

-k以k字节的形式表示文件的大小。

-l列出文件的详细信息。

-m横向输出文件名,并以“,”作分格符。

-n用数字的UID,GID代替名称。

-o显示文件的除组信息外的详细信息。

-p-F在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套

接字(sockets)。

-q用?代替不可输出的字符。

-r对目录反向排序。

-s在每个文件名后输出该文件的大小。

-t以时间排序。

-u以文件上次被访问的时间排序。

-x按列输出,横向排序。

-A显示除“.”和“..”外的所有文件。

-B不输出以“~”结尾的备份文件。

-C按列输出,纵向排序。

-G输出文件的组的信息。

-L列出链接文件名而不是链接到的文件。

-N不限制文件长度。

-Q把输出的文件名用双引号括起来。

-R列出所有子目录下的文件。

-S以文件大小排序。

-X以文件的扩展名(最后一个.后的字符)排序。

-1一行只输出一个文件。

–color=no不显示彩色文件名

–help在标准输出上显示帮助信息。

–version在标准输出上输出版本信息并退出。

㈦ shell 命令如何实现获取文件名,

cd '/home/'names=`ls`for name in ${names[@]}doif [ -f $name ]thenecho $namefidone

㈧ 如何用shell获取linux目录下的文件名

获取所有常规文件的文件名并打印出来的脚本listfile.sh如下#!/bin/bashdir="/*"dir=$1$dirfor f in $dirdo if [ -f $f ] then echo $f fidone使用方法:$ listfile.sh PATH原理:PATH参数是路径,将路径后加上“/*”,代表该目录下的所有文件和目录名,利用for循环比较每个文件是否是常规文件( -f比较运算符),若if表达式为真则打印举例:ls -ltotal 36-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaa.shdrwxrwxr-x 2 lipeng lipeng 4096 May 4 2015 byteorderdrwxrwxr-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.cppdrwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrixdrwxrwxr-x 5 lipeng lipeng 4096 Apr 28 2015 modbusdrwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtestdrwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test$ ./listfile.sh ../aaa.sh./listfile.sh./main.cpp

㈨ 编写一个shell脚本,罗列当前路径下所有以f开头的文件名(注意:不包括文件夹)

你好,

情况一: 只列出当前文件夹下的以开头的文件,不考虑子文件夹:

———————-

#!/bin/shprint_f(){for i in `ls`;doif [[ -f $i && $i =~ ^f.* ]];thenecho $ifidone}print_f

上面的格式没有了,对着图片改下格式吧: