how to compare list of functions from 2 files?
up vote
3
down vote
favorite
I wanted to list all functions in 2 files I have, so I used:
cat <file_A> | grep -E "^function"
cat <file_B> | grep -E "^function"
How can I compare the outputs and highlight the similarities?
bash grep
add a comment |
up vote
3
down vote
favorite
I wanted to list all functions in 2 files I have, so I used:
cat <file_A> | grep -E "^function"
cat <file_B> | grep -E "^function"
How can I compare the outputs and highlight the similarities?
bash grep
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I wanted to list all functions in 2 files I have, so I used:
cat <file_A> | grep -E "^function"
cat <file_B> | grep -E "^function"
How can I compare the outputs and highlight the similarities?
bash grep
I wanted to list all functions in 2 files I have, so I used:
cat <file_A> | grep -E "^function"
cat <file_B> | grep -E "^function"
How can I compare the outputs and highlight the similarities?
bash grep
bash grep
asked 6 hours ago
CIsForCookies
1698
1698
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
3
down vote
accepted
Two options here:
if you need GUI solution - then you can use Meld Merge tool:
sudo apt install meld
meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
if you need terminal solution - use power of diff:
diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
add a comment |
up vote
3
down vote
You can use the process substitution functionality in this way:
diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function")
You do not need to use cat in this case. Also, there is a nice wrapper of diff called colordiff (it must be installed: sudo apt install colordiff). Here is one of my favorite usages:
colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>)
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
Two options here:
if you need GUI solution - then you can use Meld Merge tool:
sudo apt install meld
meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
if you need terminal solution - use power of diff:
diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
add a comment |
up vote
3
down vote
accepted
Two options here:
if you need GUI solution - then you can use Meld Merge tool:
sudo apt install meld
meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
if you need terminal solution - use power of diff:
diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
Two options here:
if you need GUI solution - then you can use Meld Merge tool:
sudo apt install meld
meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
if you need terminal solution - use power of diff:
diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
Two options here:
if you need GUI solution - then you can use Meld Merge tool:
sudo apt install meld
meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
if you need terminal solution - use power of diff:
diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
edited 6 hours ago
answered 6 hours ago
N0rbert
20.2k54493
20.2k54493
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
add a comment |
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
no way of doing so without saving output to files?
– CIsForCookies
6 hours ago
add a comment |
up vote
3
down vote
You can use the process substitution functionality in this way:
diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function")
You do not need to use cat in this case. Also, there is a nice wrapper of diff called colordiff (it must be installed: sudo apt install colordiff). Here is one of my favorite usages:
colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>)
add a comment |
up vote
3
down vote
You can use the process substitution functionality in this way:
diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function")
You do not need to use cat in this case. Also, there is a nice wrapper of diff called colordiff (it must be installed: sudo apt install colordiff). Here is one of my favorite usages:
colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>)
add a comment |
up vote
3
down vote
up vote
3
down vote
You can use the process substitution functionality in this way:
diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function")
You do not need to use cat in this case. Also, there is a nice wrapper of diff called colordiff (it must be installed: sudo apt install colordiff). Here is one of my favorite usages:
colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>)
You can use the process substitution functionality in this way:
diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function")
You do not need to use cat in this case. Also, there is a nice wrapper of diff called colordiff (it must be installed: sudo apt install colordiff). Here is one of my favorite usages:
colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>)
edited 5 hours ago
answered 6 hours ago
pa4080
13.2k52461
13.2k52461
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1099551%2fhow-to-compare-list-of-functions-from-2-files%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown