【问题标题】:how can I combine these lines我怎样才能结合这些线
【发布时间】:2014-04-15 15:01:14
【问题描述】:

如何组合这些行(注意:这只是一个更大文件的摘录):

interface GigabitEthernet0/0
 no ip proxy-arp
interface GigabitEthernet0/0.202
 no ip proxy-arp
interface GigabitEthernet0/0.358
 no ip proxy-arp
interface FastEthernet0/0/1.26
 no ip proxy-arp
interface GigabitEthernet0/0
 no ip proxy-arp
interface GigabitEthernet0/0.202
 no ip proxy-arp
interface GigabitEthernet0/0.358
 no ip proxy-arp
interface FastEthernet0/0/1.26
 no ip proxy-arp
interface Loopback0
 no ip proxy-arp
interface Loopback1
 no ip proxy-arp
interface Loopback26
 no ip proxy-arp
interface GigabitEthernet0/0/0
 no ip proxy-arp

所以它们看起来像这样:

interface GigabitEthernet0/0 | no ip proxy-arp
interface GigabitEthernet0/0.202 | no ip proxy-arp
interface GigabitEthernet0/0.358 | no ip proxy-arp
interface FastEthernet0/0/1.26 | no ip proxy-arp
interface GigabitEthernet0/0 | no ip proxy-arp
interface GigabitEthernet0/0.202 | no ip proxy-arp
interface GigabitEthernet0/0.358 | no ip proxy-arp
interface FastEthernet0/0/1.26 | no ip proxy-arp
interface Loopback0 | no ip proxy-arp
interface Loopback1 | no ip proxy-arp
interface Loopback26 | no ip proxy-arp
interface GigabitEthernet0/0/0 | no ip proxy-arp

我尝试了一些在网上找到的不同解决方案,但它们似乎都不适用于我的情况

【问题讨论】:

    标签: bash shell debian


    【解决方案1】:

    粘贴即可:

    paste -d '|' - - < file
    

    【讨论】:

      【解决方案2】:

      试试这个 sed 单线:

      sed 'N;s/\n/ | /;s/\r//g' file.txt
      

      【讨论】:

      • 如果您特别想删除no ip之前的空格,请将'N;s/\n/ | /'更改为'N;s/\n */ | /'
      • 您好,感谢您的帮助。运行此命令时,我得到以下信息:| no ip proxy-arpEthernet0/0(所有的行都是这种格式)
      • 您已将测试文件保存为 CRLF 格式...检查编辑。
      【解决方案3】:
       awk '{printf "%s%s",$0,(NR%2?"|":"\n")}' file
      

      【讨论】:

      • 您好,感谢您的帮助。运行此命令时,我得到以下信息:| no ip proxy-arpEthernet0/0(所有的行都是这种格式)
      • @lacrosse1991 我用你的例子运行命令,它在你的问题中给出了相同的输出......
      • 你好,anishsane 提到该文件是 CRLF 格式,现在可以使用,谢谢!
      【解决方案4】:
      while IFS= read line1 && IFS= read line2; do
          printf "%s | %s\n" "$line1" "$line2"
      done < file.txt
      

      【讨论】:

        猜你喜欢
        • 2012-09-03
        • 2016-08-28
        • 2015-07-14
        • 2015-03-13
        • 1970-01-01
        • 2013-07-09
        • 2015-06-13
        • 2022-10-04
        • 1970-01-01
        相关资源
        最近更新 更多