Try this sed one-liner:
sed 'N;s/\n/ | /;s/\r//g' file.txt
Question
How can I combine these lines (NOTE: this is just an excerpt from a much larger file):
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
so that they resemble this:
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
I've tried a few different solutions that I have found online, but none of them seem to work correctly for my situation
Solution 2
Try this sed one-liner:
sed 'N;s/\n/ | /;s/\r//g' file.txt
OTHER TIPS
paste can do it:
paste -d '|' - - < file
awk '{printf "%s%s",$0,(NR%2?"|":"\n")}' file
while IFS= read line1 && IFS= read line2; do
printf "%s | %s\n" "$line1" "$line2"
done < file.txt