3.3.2 文件的比较与行编辑

文件的比较与备份

    diff命令用于比较两个文件之间的区别。

    diff命令在比较两个文件时(新版本的diff支持比较二进制文件),会逐行对两个文件的异同进行比较输出。

    diff命令在比较两个目录时,则只会对文件中的相同文件名进行比较。

    语法:diff [选项] 文件1/目录1 文件2/目录2

    选项

-b 不检查空格字符的不同。
-B 不检查空白行。
-c 显示全部内文,并标出不同之处。
-i 不检查大小写的不同。
-r 比较子目录中的文件。

[root@CentOS7 ~]# diff -c  /root/tail.txt /data/tail.txt 
*** /root/tail.txt	2018-04-14 10:45:28.658504821 +0800
--- /data/tail.txt	2018-04-14 10:45:12.840503600 +0800
***************
*** 1,3 ****
  aaa
  aaa
! aaabc
--- 1,3 ----
  aaa
  aaa
! aaabb

    diff命令的输出会被保存在一中名叫“补丁”的文件中,可以使用  -u  选项来进行还原,也可以用patch命令进行对修改过的文件备份。

    语法:diff -u 文件 备份>文件(将文件还原至备份)

              patch -d 文件 备份     (将修改过后的内容添加至备份)

行编辑器sed

    sed命令用于处理编辑行内的内容。sed工具在执行时,一次处理一行的内容。处理时,sed会将行中的内容读入临时的缓冲区(模式空间),然后对缓冲区中的内容进行处理,并不会修改源文件。处理后再将处理完毕的内容输出,然后读入下一行内容。

    语法:sed [选项] '地址命令' 文件

    选项

-n:不输出模式空间内容到屏幕,即不自动打印
-e:   多点编辑
-f:  /PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本
-r:    支持使用扩展正则表达式
-i.bak: 备份文件并原处编辑

    地址

#: 指定的行,$:最后一行
/pattern/:被此处模式所能够匹配到的每一行
n,m: 第n行到第m行
n,+m: 第n行到n+m行
/pat1/,/pat2/: 被两个模式匹配的行之间
n,/pat1/: 第n行到被模式匹配的行

n~m:从第n行开始。每隔m行匹配一次

    命令: 

d: 删除模式空间匹配的行,并立即启用下一轮循环
p:打印当前模式空间内容,追加到默认输出之后
a [\]text:在指定行后面追加文本---|
i [\]text:在行前面插入文本--------|-支持使用\n实现多行追加
c [\]text:替换行为单行或多行文本-|
w 文件: 保存模式匹配的行至指定文件
r 文件:读取指定文件的文本至模式空间中匹配到的行后
=: 为模式空间中的行打印行号
!:模式空间中匹配行取反处理

s/find/replace/mark  将find匹配的内容替换为replace。其中 / 可以使用 # 、%或者 @ 代替作为分隔符。

    mark

g: 行内全局替换
p: 显示替换成功的行
w 文件:将替换成功的行保存至文件中

使用ifconfg命令查看指定网卡的ipv4地址

[root@CentOS7 ~]# ifconfig ens33 | sed -n '2p' | sed -r 's@.*inet (addr:)?(.*)  (Bcast|netmask).*@\2@'
192.168.30.2

    高级编辑命令

P:打印模式空间开端至\n内容,并追加到默认输出之前
h: 把模式空间中的内容覆盖至保持空间中
H:把模式空间中的内容追加至保持空间中
g: 从保持空间取出数据覆盖至模式空间
G:从保持空间取出内容追加至模式空间
x: 把模式空间中的内容与保持空间中的内容进行互换
n: 读取匹配到的行的下一行覆盖至模式空间
N:读取匹配到的行的下一行追加至模式空间
d: 删除模式空间中的行
D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会像发出d命令那样启动正常的新循环

将文本文件的n和n+1行合并为一行,n为奇数行

[root@CentOS7 data]# seq 1 10 | sed 'N;s/\n/ /'
1 2
3 4
5 6
7 8
9 10





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装Hadoop 3.3.2需要以下步骤: 1. 首先,确保您已经安装了CentOS操作系统,并且已经拥有root权限。 2. 下载Hadoop 3.3.2安装包。可以从Hadoop官方网站https://hadoop.apache.org/releases.html下载。 3. 将下载的Hadoop安装包解压缩到您的CentOS系统中。您可以使用以下命令: tar -xzvf hadoop-3.3.2.tar.gz 4. 将解压缩后的Hadoop目录移动到适当的位置。例如,您可以将它移动到/usr/local目录下: mv hadoop-3.3.2 /usr/local/hadoop 5. 设置Hadoop的环境变量。打开/etc/profile文件,将以下内容添加到文件末尾: export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 然后运行以下命令以使环境变量生效: source /etc/profile 6. 配置Hadoop。在Hadoop安装目录下的etc/hadoop目录中,找到core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml四个配置文件,并根据您的需求进行配置。 7. 启动Hadoop。运行以下命令以启动Hadoop: start-all.sh 如果您只想启动某个特定的组件,比如HDFS或YARN,请使用以下命令: start-dfs.sh // 启动HDFS start-yarn.sh // 启动YARN 8. 检查Hadoop是否成功启动。您可以通过在浏览器中输入http://localhost:9870/来访问Hadoop管理界面,并查看Hadoop各个组件的状态。 这些步骤应该可以帮助您在CentOS系统上安装Hadoop 3.3.2。如果您在安装过程中遇到任何问题,请随时向我提问。 ### 回答2: CentOS是一种基于Linux内核的操作系统,而Hadoop是一种开源的分布式数据处理框架。为了在CentOS上安装Hadoop 3.3.2,您需要遵循以下几个步骤: 1. 首先,确保您的CentOS系统已经安装好并处于可用状态。如果尚未完成安装,请先进行CentOS的安装和配置。 2. 接下来,下载Hadoop 3.3.2的安装包。您可以在Hadoop的官方网站或镜像站点上找到最新的稳定版本。选择与您的操作系统兼容的安装包进行下载。 3. 下载完成后,解压安装包。可以使用命令tar -xzvf hadoop-3.3.2.tar.gz来解压缩文件。 4. 解压后,通过编辑Hadoop的配置文件来进行必要的配置。主要的配置文件是hadoop-env.sh和core-site.xml。您可以根据您的需求修改这些文件中的参数,例如设置Java环境变量和Hadoop的通信端口等。 5. 在配置完成后,将Hadoop目录下的所有文件复制到适当的位置。可以使用命令sudo mv hadoop-3.3.2 /usr/local/hadoop将Hadoop文件夹移动到指定位置。 6. 设置Hadoop的环境变量。编辑/etc/profile文件,并在末尾添加以下内容: export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH 保存文件后,运行source /etc/profile命令使环境变量生效。 7. 最后,启动Hadoop集群。您可以使用start-dfs.sh和start-yarn.sh脚本来启动Hadoop的分布式文件系统和资源管理器。 以上是在CentOS上安装Hadoop 3.3.2的大致步骤。您可以根据具体的环境和需求进行适当的调整和配置。另外,在安装过程中可能会遇到一些问题和依赖项,您可以通过参考Hadoop官方文档和社区来获取更多帮助和支持。 ### 回答3: CentOS Hadoop-3.3.2安装包是指适用于CentOS操作系统的Hadoop版本3.3.2的安装文件。Hadoop是一个开源的大数据处理平台,用于存储和分析大规模数据集。 安装CentOS Hadoop-3.3.2可以按照以下步骤进行: 1. 首先,确保你的CentOS操作系统已经安装并正常运行。 2. 从官方Hadoop网站(例如Apache官网)下载Hadoop-3.3.2的安装包。 3. 将下载的安装包解压到你选择的目录。你可以选择任何你喜欢的目录,例如/opt/hadoop。 4. 在解压后的目录中,找到hadoop-env.sh文件,并使用文本编辑器打开它。在该文件中,你可以配置Hadoop的环境变量,如JAVA_HOME,用于指定Java安装的路径。 5. 接下来,编辑core-site.xml配置文件以配置Hadoop的核心设置。你可以设置Hadoop的文件系统类型(如HDFS或本地文件系统)以及相关参数。 6. 然后,编辑hdfs-site.xml配置文件以设置Hadoop分布式文件系统(HDFS)的配置参数,例如副本数量和数据块大小等。 7. 编辑yarn-site.xml配置文件以配置Hadoop的资源管理器(YARN)和作业调度器的设置。 8. 根据你的需求,你还可以编辑其他一些配置文件,例如mapred-site.xml,以配置Hadoop的MapReduce和任务调度等。 9. 最后,启动Hadoop集群服务。通过运行启动脚本(start-all.sh或start-dfs.sh和start-yarn.sh),你可以启动HDFS和YARN服务。 10. 在Hadoop正常运行后,你可以通过访问相应的Web界面,如ResourceManager Web UI和NameNode Web UI等,来监视Hadoop集群的状态和运行情况。 通过按照以上步骤安装和配置CentOS Hadoop-3.3.2,你可以开始使用Hadoop来处理和分析大规模数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值