shell 处理 文件名本身带星号的情况

获取到的所有文件名放到数组中时必须加上引号,不然 for 循环时会被解析成通配符,或者使用 shell 字典,同样也需要引号。

shell 字典示例

#!/bin/bash

echo "shell定义字典"
#必须先声明
declare -A dic
dic=([key1]="value1" [key2]="value2" [key3]="value3")

#打印指定key的value
echo ${dic["key1"]}
#打印所有key值
echo ${!dic[*]}
#打印所有value
echo ${dic[*]}

#遍历key值
for key in $(echo ${!dic[*]})
do
        echo "$key : ${dic[$key]}"
done

echo "shell定义数组"

#数组
list=("value1" "value2" "value3")
#打印指定下标
echo ${list[1]}
#打印所有下标
echo ${!list[*]}
#打印数组下标
echo ${list[*]}
#数组增加一个元素
list=("${list[@]}" "value3")
时间: 2024-10-14 01:06:54

shell 处理 文件名本身带星号的情况的相关文章

Mac下为什么有的文件名后带一个* 星号?

这个*号仅仅是ls命令显示的,表示有可执行权限,实际文件名不带*号. ls -F可执行文件名后就会加*号. 显示一个或多个文件的相关信息.ls [options] [file-list] 参数默认情况下,ls按照文件名的字母顺序列出文件的信息,file-list可以是任意文件或目录当file-list包含多个目录时,ls将显示目录的名称,不显示子目录和子文件当file-list为普通文件时,ls则显示该文件的相关信息 选项-a 显示所有文件名列表,包括隐藏文件(文件名以句点开始)-A 与-a类似

【转】python函数参数带星号*

原文地址: http://www.cnblogs.com/tips4python/archive/2011/05/30/function_with_stay.html 1 def function_with_one_star(*t): 2 print(t, type(t)) 3 4 def function_with_two_stars(**d) 5 print(d, type(d)) 1 function_with_one_star(1, 2, 3) 2 function_with_two_s

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递 *arg 代表的是arg元祖,**kwd代表的是kwd名称的字典. 那函数传参数或是使用参数的时候,什么时候带*号什么时候不带*号呢?我这点总是理解不上来,或者说有点混乱.参考下面几个小函数,来理解下 >>> def a(*x): print (x) >>> def b(x): print(x) >>> def c(*x): print(*x) >>> x = (1

shell修改文件名(一)

假如文件名是:time_filename.txt 改成filename_time.txt.例如20111111_me.txt改成me_201111111.txt要如何修改? 1 #! /bin/sh 2 for eachfile in `ls -B` 3 do 4 filename=${eachfile%.txt} 5 filehead=`echo $filename | awk -F _ '{print $1 }'` 6 filelast=`echo $filename | awk -F _

Shell 处理文件名中包含空格的文件

最近在学Gradle, 使用git clone 命令下载了一些资料,但是文件名含有空格,看上去不是很舒服,因此想到用shell脚本对其进行批处理,去掉文件名中的空格,注意这里是把所有的空格全去掉 git clone https://github.com/waylau/Gradle-2-User-Guide-Demos.git Shell脚本: ######################################################################### # F

Linux shell 提取文件名和目录名

${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串 1.提取文件名 [[email protected] log]# var=/dir1/dir2/file.txt [[email protected] log]# echo ${var##*/} file.txt 2.提取后缀 [[email protected] log]# echo ${var##*.} txt 3.提取不带后缀的文件名,分两步 [[email protected] log]# tmp=${var##*/}

find + xargs + cp 遇到文件名中带空格如何处理

一,需求为查询文件名为ZRSH开头的时间为7月至今的所有文件并打包 1.首先想到的就是find + xargs + cp  格式.. find 2016073* -type f  -name *ZRSH\*   |xargs  cp {} ./data/ 执行之后发现说查询出来的文件不是目录,很讶异,于是直接执行find 2016073* -type f  -name *ZRSH\*    文件都查询出来没有任何问题.. 2.猜测是cp 的时候有意想不到的问题发生.于是直接cp测试报文.发现文件

转:python 函数参数的传递(参数带星号的说明)

python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1,arg2,...)这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应

shell修改文件名(二)

我想修改类似如下一批文件的文件名:AA01_01.txtAA01_02.txtAA01_03.txtAA01_04.txt 修改成BB02_01.txtBB02_02.txtBB02_03.txtBB02_04.txt 把文件名的头换下. ==============================================================for x in `seq 1 4`;do mv AA01_0${x}.txt BB01_0${x}.txt;done 今天才知道ren