#定义一个测试文件,内有多行文本数据: $cat test.txt a b c d e f g h i j k l m n o p q r s t u v w x y z
#示例1.多行输入单行输出和指定行输出 cat test.txt | xargs # a b c d e f g h i j k l m n o p q r s t u v w x y z cat test.txt | xargs -n3 #每行显示3个参数 # a b c # d e f # g h i
#示例2.指定一个定界符进行分割 echo"nameXnameXnameXname" | xargs -dX echo"nameXnameXnameXname" | xargs -dX -n2 #结合n使用 name name name name
echo"testp-testp-wwwp-www" | xargs -d 'p' # test -test -www -www
mapfile: mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] Options: -d delim Use DELIM to terminate lines, instead of newline -n count 从标准输入中获取最多count行,如果count为零那么获取全部 -O origin 从数组下标为origin的位置开始赋值,默认的下标为0 -s count 跳过对前count行的读取 -t 从每行读取中删除一个尾随的 DELIM(默认换行) -u fd Read lines from file descriptor FD instead of the standard input -C callback Evaluate CALLBACK each time QUANTUM lines are read.每次读取量子线时计算回调 -c quantum Specify the number of lines read between each call to CALLBACK.指定每次回调调用之间读取的行数
Arguments: ARRAY Array variable name to use for file data
# 2.先创建一个示例用的文件alpha.log,每行一个小写字母共26行: echo {a..z} | tr " ""\n" > alpha.log # 如不指定变量则存储到默认的MAPFILE数组中。 mapfile < alpha.log echo${MAPFILE[@]} # 指定变量VAR_ARRAY值进行接收。 mapfile VAR_ARRAY < alpha.log echo${VAR_ARRAY[@]} # a b c d e f g h i j k l m n o p q r s t u v w x y z
# 3.从标准输入中获取最多3行数据 mapfile -n 3 VAR_ARRAY < alpha.log && echo${VAR_ARRAY[@]} # a b c
# 4.跳过对前3行的读取,即从下标为3的开始读取 mapfile -s 3 VAR_ARRAY < alpha.log && echo${VAR_ARRAY[@]} # d e f g h i j k l m n o p q r s t u v w x y z
# 5.从数组下标为4的位置开始赋值(注意区别) mapfile -O 4 -d '\n' VAR_ARRAY < alpha.log && echo${VAR_ARRAY[@]} # 0 1 2 3 4 # a b c a b c d e f g h i j k l m n o p q r s t u v w x y z mapfile -O 2 VAR_ARRAY < alpha.log && echo${VAR_ARRAY[@]} # a a b c d e f g h i j k l m n o p q r s t u v w x y z z z mapfile -O 26 VAR_ARRAY < alpha.log && echo${VAR_ARRAY[@]} # a b c d e f g h i j k l m n o p q r s t u v w x y a a b c d e f g h i j k l m n o p q r s t u v w x y z
# 6.每读取3行就执行一次echo,并且我们还可以将多个操作组合起来作为一个回调程序。 mapfile -t -c 3 -C "echo" VAR_ARRAY < alpha.log 2 c 5 f 8 i 11 l 14 o 17 r 20 u 23 x
0x01 外置扩展
dos2unix 命令 - 将DOS格式的文本文件转换成UNIX格式的
描述: 用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主, 将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!