С показом различий. Через diff наверное как то и xargs?
Как сравнить 2е строки?
Не до конца я понял эту задачу, но...
... если просто нужно сравнить две строки, как результат выполнения двух команд, то можно примерно так:
lupo@gentoo-laptop ~ % [ "$(uname -r)" == "$(uname -a | awk '{print $3}')" ] && echo OK || echo NO
OK
lupo@gentoo-laptop ~ % [ "$(uname -r)" == "$(uname -a | awk '{print $2}')" ] && echo OK || echo NO
NOP.S. Но тут без показа различий :(
P.S.S. Как вариант: в каждой из строк пробелы заменить на переносы строки и сравнить обычным diff'ом.
Не, мне надо выделять различия как в diff,
открою вам страшную тайну,
man diff
открою вам страшную тайну,
man diff
diff работает только с файлами.
[quote=moshell]открою вам страшную тайну,
man diff
diff работает только с файлами.[/quote]
И это проблема?
Первую строку в один файл, вторую в другой файл. Оба файла можно в рамдиске tmpfs (или ramfs) создать. Делов-то.
Если строгое сравнение, то вот по-быстрому накалякал (есдли я правильно понял задачу):
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import sys
sortedList = sorted([sys.argv[1], sys.argv[2]], key = len)
for i in range(len(sortedList[0])):
if sortedList[0][i] != sortedList[1][i]:
print "%s <-> %s" % (sortedList[0][i], sortedList[1][i])
print sortedList[1][len(sortedList[0]):]
[console]$ ./strdiff.py "Hello, my world" "Hello everybody"
, <->
<-> e
m <-> v
y <-> e
<-> r
w <-> y
o <-> b
r <-> o
l <-> d
d <-> y
[/console]
Ещё есть cmp для побайтного сравнения двух файлов.
Пётр.
в линухе всё - файлы.diff работает только с файлами.
Не, мне надо выделять различия как в diff,
а как оно в diff? у меня - никак, если речь о двух строках.