#脚本只要发生错误,就终止执行
set -e
#解决管道的情况,只要一个子命令失败,整个管道命令就失败,脚本会终止执行
set -eo pipefail
#每行行首增加特殊字符
sed -i "s#^#\\\'&#g" test.txt
#每行行尾增加特殊字符
sed -i "s#$#\\\'#g" test.txt
#文本中多行合并到一行并以,间隔
paste -s test.txt -d","
shell中#*、##*、#*、%*、%%*等的含义
假设定义一个变量为:file=/dir1/dir2/dir3/my.file.txt
${file#*/}:删除第一个/及其左边的字符串---> dir1/dir2/dir3/my.file.txt (单个字符->截取掉第一个往左的内容)
${file##*/}: 删除最后一个/及其左边的字符串---> my.file.txt (双字符->截取最后一个匹配字符往左的全部内容)
${file#*.}: 删除第一个.及其左边的字符串---> file.txt
${file##*.}: 删除最后一个.及其左边的字符串--> txt
${file%/*}: 删除最后一个/及其右边的字符串---> /dir1/dir2/dir3 (单个字符->截取第一个往右的内容)
标签:---,shell,删除,dir2,语法,特殊,file,字符串,txt
From: https://blog.51cto.com/u_11873474/8203456