shell命令实现当前目录下多个文件合并为一个文件的方法

当前目录下多个文件合并为一个文件

1、将多个文件合并为一个文件没有添加换行符

find ./ -name "iptv_authenticate_201801*" | xargs cat > iptv_authenticate.txt

2、设置换行符^J

find ./ -name "iptv_authenticate_201801*" | xargs sed 'a\^J' > iptv_authenticate.txt

3、默认换行符

find ./ -name "iptv_authenticate_201801*" | xargs sed 'a\' > iptv_authenticate.txt

find ./ -name "iptv_liveswitch_201801*" | xargs sed 'a\' > iptv_liveswitch.txt

find ./ -name "iptv_qualified_201801*" | xargs sed 'a\' > iptv_qualified.txt

find ./ -name "iptv_vodload_201801*" | xargs sed 'a\' > iptv_vodload.txt

当前目录下所有后缀为txt文件中追加一行数据作为文件内容的第一行内容

1、方法一

for fullpath in `find . -type f -name "*.txt"`
do
  sed -i '1i\Num\tPhone\tDate\tMessage\tId\tGudge' ${fullpath}
done

备注:

-type  f 是指后边的查找文件类型为文件

2、方法二

find . -type f -name "*.txt" | xargs -I {} sed -i '1i\Num\tPhone\tDate\tMessage\tId\tGudge' {}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Shell脚本中awk指令的用法

    语法格式:awk [选项]  '指令'  操作文件 常用选项:-F  指定分隔符,分隔符用""引起来 -v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快 -f:后面跟一个保存了awk程序的文件,代替在命令行指定awk程序 实例1:在命令行直接输入awk指令 awk '{print}' 1.txt #逐行读取文件1.txt内容并打印 awk '{print $0}' 1.txt #逐行读取文件内容,并打印该行,$0保存的是当

  • Shell中字符串排序的几种方法

    [方法一]按ASCII正向排序 备注: 1) tr将子字符串中的空白转换为换行符,再用sort排序 2) sort无参的话,默认按ASCII正向排序 [方法二]按ASCII正向排序 备注: 1) -r参数:  按ASCII码反向排序 2) 在使用sort,uniq等组合命令时候 [方法三]按自然数顺序排序 备注: 1) -n参数:  按自然数的顺序来排序 2) 如果不加-n参数的话,默认是按1,2,3..9的顺序排列,即使101也是排在2之前 总结 以上就是这篇文章的全部内容了,希望本文的内容对

  • Shell中整数计算的几种方式

    在Shell中可以使用下列方式来做整数的计算(+,-,*,/) 方式一: linux:~ # A=1 linux:~ # B=2 linux:~ # C=$(($A+$B)) linux:~ # echo $C 3 方式二: linux:~ # A=1 linux:~ # B=2 linux:~ # C=$[$A + $B] linux:~ # echo $C 3 方式三: linux:~ # A=1 linux:~ # B=2 linux:~ # C=`expr $A + $B` linux:

  • Shell中去除字符串前后空格的方法

    经常碰到的场景,需要去除字符串中的前后的空格.在Shell中不像其他语言有strip()来处理,不过也是可以使用诸如awk等命令来处理. 下面是一个简单示例: [root@localhost ~]# echo ' A B C ' | awk '{gsub(/^\s+|\s+$/, "");print}' ^\s+            匹配行首一个或多个空格 \s+$            匹配行末一个或多个空格 ^\s+|\s+$    同时匹配行首或者行末的空格 如果不用awk命令

  • 一条命令让你明白shell中read命令的常用参数

    我们知道,在Shell中接收传入的参数有两种方式.一种是通过脚本进行参数传递,另外一种是通过read来接收传入的参数.通过脚本来传递参数的简单示例如下: # 通过脚本来传递,这里$0指脚本名,$1为第一个参数,$2为第二个参数 [root@host ~]# ./script.sh 1 2 Total = 3 [root@host ~]# vim script.sh #!/bin/bash function add() { total=$(expr $1 + $2) echo -e "Total

  • shell中使用expect命令进行远程执行命令脚本

    expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] #!/usr/bin/expect set ip [lindex $argv 0] set p

  • Shell脚本中管道的几种使用实例讲解

    管道经常用于拼接命令,通过管道可以执行一些复杂的数据处理操作.以下为在shell中使用管道处理数据的的几个实例 示例1:生成一个8位的随机密码 tr -dc A-Za-z0-9_ </dev/urandom | head -c 8 | xargs 示例2:查看系统中所有的用户名称,并按字母排序 awk -F: '{print $1}' /etc/passwd | sort 示例3:列出当前用户使用最多的5个命令(print的列数根据实际情况而定) history | awk '{print $2

  • Shell中去除字符串里的空格或指定字符的方法

    网上很多办法,虽然是对的,用起来结果不对.这里提供正确办法. 去掉开头的空格 $text=" 123 456 " # 这个写法,保证了得到正确的结果. text=`echo $text | sed -e 's/^[ \t]*//g'` # 这些方法没有测试,写法参照上面的. # 去掉尾巴的空格 sed 's/[ \t]*$//g' # 删除前.后空格,不删除中间空格 sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' # 删除字符串中所有空格 sed 's/

  • Shell中统计字符串中单词的个数的几种方法

    Shell中求字符串中单词的个数的几种方法 方法一: [linux@host ~]# echo 'one two three four five' | wc -w 5 方法二: [linux@host ~]# echo 'one two three four five' | awk '{print NF}' 5 方法三: [linux@host ~]# s='one two three four five' [linux@host ~]# set ${s} [linux@host ~]# ech

  • Shell脚本用for循环遍历参数的方法技巧

    1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历 示例: #!/bin/bash number=65 #定义一个退出值 index=1 #定义一个计数器 if [ -z "$1" ];then #对用户输入的参数做判断,如果未输入参数则返回脚本的用法并退出,退出值65 echo "Usage:$0 + canshu" exit $number fi echo "listing args with \$*:" #在屏幕输入,在$*

随机推荐