编辑:与以下原始答案相同,但避免选项在HP-UX上不受diff支持。使用类似:

diff -b -r -w /tmp/one.txt /tmp/two.txt \

| sed -n -e '/c/ {s/[^c]*c\(.*\)/\1 p/;p}' \

| sed -n -f - /tmp/two.txt > /tmp/changed.txt

diff -b -r -w /tmp/one.txt /tmp/two.txt \

| sed -n -e '/a/ {s/[^a]*a\(.*\)/\1 p/;p}' \

| sed -n -f - /tmp/two.txt > /tmp/new.txt

此行号输出转换从diff到sed打印(p)为增加(a)和变更的命令(c)行范围。生成的sed脚本将应用于第二个文件以仅打印所需的行。 (我希望HP-UX sed从标准输入接收脚本支持-f -)

似乎有是不需要从diff输出解释行号的解决方案。 diff支持--side-by-side格式(-y),其中包括分别用和|标记旧,新和改变的线条的排水槽。您可以使用--width=1(或-W1)将此并排格式减少为标记。如果您使用已更改的标记和新的标记(grep -v)并在第二个文件的行前加上(paste),则可以通过前缀标记筛选(grep)并丢弃标记(cut)。您可以为新文件和更改文件执行此操作。

这里是一个自包含的“脚本”为例:

# create two example files (one character per line)

echo abcdefghijklmnopqrstuvwxyz | grep -o . > /tmp/one.txt

echo abcDeFghiJKlmnopPqrsStuvVVwxyzZZZ | grep -o . > /tmp/two.txt

# diff side-by-side to get markers and apply to new file

diff -b -r -w -y -W1 /tmp/one.txt /tmp/two.txt \

| fgrep -v '

| grep -e '^|' | cut -c3- > /tmp/changed.txt

diff -b -r -w -y -W1 /tmp/one.txt /tmp/two.txt \

| fgrep -v '

| grep -e '^>' | cut -c3- > /tmp/new.txt

# dump result

cat /tmp/changed.txt

echo ---

cat /tmp/new.txt

它的输出是

D

F

J

K

---

P

S

V

V

Z

Z

Z

我希望这可以帮助您解决问题。

linux diff 远程文件,登录diff命令,以单独的文件输出在linux相关推荐

  1. linux没有jre文件夹,linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法...

    linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法 出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一 ...

  2. Linux执行命令提示Password,linux expect远程自动登录以及执行命令

    linux远程自动登录以及执行命令 远程登录 该自动登录的过程是通过shell里面expect实现的,类似相当于开了一个类似于cmd的命令段输出IP和密码. 注意该脚本能够执行的前提是安装了expec ...

  3. linux控制台 远程关机,ubuntu关机命令合集

    最近频繁的装WINDOWS系统感觉越来越简单,就赶紧研究起了UBUNTU.其实早就对他感兴趣了,就是一直没有动起来,..从此日起坚持每天练习. 本文介绍基于Ubuntu 9.04,采用GNOME集成桌 ...

  4. linux 上plsql命令_在 Linux 上压缩文件:zip 命令的各种变体及用法 | Linux 中国

    除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作.这是一些其他的 zip 选项以及它们如何提供帮助.-- Sandra Henry-stocker 为了节省一些磁盘空间并将文件打包 ...

  5. java键盘输入到文件中_在Linux中使用java和javac命令编译运行java文件

    Linux中java和javac使用及注意事项 注意!!!: 前提配置好java的环境变量. 如下图: 配置文件 java命令正常 javac命令正常 关于如何配置java环境变量,请详见: 第一篇: ...

  6. java删除文件中的一行_在Linux中使用java和javac命令编译运行java文件

    Linux中java和javac使用及注意事项 注意!!!: 前提配置好java的环境变量. 如下图: 配置文件 java命令正常 javac命令正常 关于如何配置java环境变量,请详见: 第一篇: ...

  7. Linux系统中sz和rz命令详解(文件传输、上传、下载)

    rz和sz是Linux/Unix同Windows进行Zmodem文件传输的命令工具,都使用Zmodem文件传输协议. rz: receive zmodem的缩写,运行该命令会弹出一个文件选择窗口,从本 ...

  8. Linux whereis、find和locate命令找不到文件

    命令简介 ●whereis 功能:定位文件所在的目录 使用whereis命令可以定位常用命令的位置: [root@yanghsia root]#whereis ls (# 定位ls命令的位置) ls: ...

  9. 在Win10下解压linux压缩包,Win10如何解压缩文件?win10使用命令行来解压缩文件的方法...

    电脑的硬盘空间是有限的,如果你的硬盘空间比较紧张,解压缩文件不失为一个好方法.,Win10如何解压缩文件呢?其实和ZIP文件压缩或者RAR文件压缩相比,使用命令行来解压缩文件会方便的多,因为你不需要创 ...

  10. linux tr 变量大小写,使用tr命令快速达到大小写互换——深圳培训linux

    本文,主要讲的是Linux利用tr命令轻松实现大小写转换,深圳培训linux希望通过本文的学习,大家都能实现利用tr命令轻松实现大小写转换.系统工程师有时候在系统维护的时候,需要将某个文件中的内容进行 ...

最新文章

  1. 当一回标题党“数理系优秀校友访谈”
  2. OpenCV中泛洪填充算法解析与应用
  3. 从搜索引擎到社交网络的艰难转变
  4. Codeforces Round #404 (Div. 2) B. Anton and Classes 水题
  5. Hive安装MySql
  6. 火狐插件youdao word capturer无法删除。
  7. javascript --- [FormData的使用] 表单元素转换成表单 对象二进制文件上传
  8. windows 服务部署管理
  9. 关于linux的进程和线程
  10. 力扣209-长度最小的子数组(Java,双指针解法)
  11. 4种实例 advice aop_JAVA动态代理 和 Spring AOP 4种通知的简单实现
  12. Unity3D之UGUI基础10:画布的三种模式
  13. stm32f407+rtthread 使用 ec20 ppp拨号
  14. tp6加载静态资源文件
  15. oracle数据库查询904错误,EXP-00008:遇到ORACLE错误904问题详解
  16. 可以弹奏的钢琴页面(HTML实现)
  17. 不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。
  18. matlab 检测键盘,matlab检测键盘
  19. MySQL——MySQL备份
  20. 主成分分析(R语言)

热门文章

  1. php怎样连接mysql_php怎么连接数据库
  2. 【kafka】kafka 消息头的强大功能
  3. 【clickhouse】 clickhouse配置查询记录query_log
  4. 【kafka】 kafka 2.3 版本 生产者和消费者事务 案例
  5. 【Elasticsearch】中文分词器比对表
  6. 【Spring】Spring 中的bean 和我们java中的bean有什么区别以及spring 模拟实现
  7. 60-130-336-源码-source-kafka相关-Flink读取kafka
  8. Spring : ApplicationContext和BeanFactory
  9. gradle下载的依赖包位置
  10. 微软设计套装 Expression Studio 4 (Ultimate+Web Pro+Encoder Pro) 最新版下载