#每日Linux小练习#02 tr命令的使用

对于文本操作,tr命令的作用很大。今天对tr功能进行初步学习。

1、 tr的工作原理

tr命令不接受指定的文件参数,而只是对标准输入进行翻译

tr的命令格式是tr SET1 SET2,凡是在SET1中的字符,都会被替换为SET2中相应位置上的字符 

2、简单的替换功能

tr 1 2 < ./material/20150804tr_height.txt
tr ' ' '11' < ./material/20150804tr_height.txt

3、对一系列字符进行处理

tr 'a-z' 'A-Z' < ./material/20150804tr_word.txt
tr '1-8' '[A*]'  < ./material/20150804tr_number.txt#重复指定的字符到与 SET1 相同长度为止 
tr '1-8' '[A*5]B'  < ./material/20150804tr_number.txt# [CHAR*REPEAT],将CHAR重复REPEAT次数

在练习中成长~

#!/bin/bash
echo "this is test for command 'tr'"


########################################
folder="./material"
if [ ! -d "$folder" ];then
    mkdir "$folder"
fi
 
echo "1.79 1.83" > ./material/20150804tr_height.txt
echo "1.65 1.59" >> ./material/20150804tr_height.txt

echo "AbcDe" > ./material/20150804tr_word.txt

echo "1234567890" > ./material/20150804tr_number.txt

echo "file writing finished"
########################################
tr 1 2 < ./material/20150804tr_height.txt
tr ' ' '11' < ./material/20150804tr_height.txt
tr 'a-z' 'A-Z' < ./material/20150804tr_word.txt
tr '1-8' '[**]'  < ./material/20150804tr_number.txt
tr '1-8' '[A*5]B'  < ./material/20150804tr_number.txt

补充知识:

1、将内容写入文件

两个管道命令就可以实现: 
1)  >  符号表示将信息写入文件中 
2)  >> 符号表示在已有的文件中添加信息 

2、文件使用git进行管理,我不希望git把我的文件夹material也提交了,于是使用.gitignore文件

在仓库目录下新建一个名为.gitignore的文件

.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

【例子】

# 忽略*.o和*.a文件

 *.[oa]

# 忽略*.b和*.B文件,my.b除外

*.[bB]

!my.b

# 忽略dbg文件和dbg目录

dbg

# 只忽略dbg目录,不忽略dbg文件

dbg/

# 只忽略dbg文件,不忽略dbg目录

dbg

!dbg/

# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内

/dbg

 

3、判断文件或者文件夹是否存在或者具有权限

#shell判断文件夹是否存在

#如果文件夹不存在,创建文件夹
if [ ! -d "/myfolder" ]; then
  mkdir /myfolder
fi

#shell判断文件,目录是否存在或者具有权限


folder="/var/www/"
file="/var/www/log"

# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
  mkdir "$folder"
fi

# -d 参数判断 $folder 是否存在
if [ ! -d "$folder"]; then
  mkdir "$folder"
fi

# -f 参数判断 $file 是否存在
if [ ! -f "$file" ]; then
  touch "$file"
fi

# -n 判断一个变量是否有值
if [ ! -n "$var" ]; then
  echo "$var is empty"
  exit 0
fi

# 判断两个变量是否相等
if [ "$var1" = "$var2" ]; then
  echo '$var1 eq $var2'
else
  echo '$var1 not eq $var2'
fi
原文地址:https://www.cnblogs.com/wuqi/p/4703592.html