Erase all lines but one using Ansible
So I'm working with an Ansible playbook and my idea is to remove all lines from a debug variable but keep one. For example,
- name: Debug
debug:
var: json_response
Let's consider that json_response has 100+ lines. I would like to find my specific word and keep the line. Like this:
Keeping the line where you find the words: "crazy"
output.json:
I'm doing this test
So you guys can understand
What I'm saying
I'm a crazy test
And the result output.json would be:
I'm a crazy test
Right now, I've looked at the "lineinfile" module for ansible and it says:
"This module ensures a particular line is in a file, or replace an existing line using a back-referenced regular expression"
But it doesn't seems to fullfill my needs, any ideas?
Thanks
ansible
add a comment |
So I'm working with an Ansible playbook and my idea is to remove all lines from a debug variable but keep one. For example,
- name: Debug
debug:
var: json_response
Let's consider that json_response has 100+ lines. I would like to find my specific word and keep the line. Like this:
Keeping the line where you find the words: "crazy"
output.json:
I'm doing this test
So you guys can understand
What I'm saying
I'm a crazy test
And the result output.json would be:
I'm a crazy test
Right now, I've looked at the "lineinfile" module for ansible and it says:
"This module ensures a particular line is in a file, or replace an existing line using a back-referenced regular expression"
But it doesn't seems to fullfill my needs, any ideas?
Thanks
ansible
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20
add a comment |
So I'm working with an Ansible playbook and my idea is to remove all lines from a debug variable but keep one. For example,
- name: Debug
debug:
var: json_response
Let's consider that json_response has 100+ lines. I would like to find my specific word and keep the line. Like this:
Keeping the line where you find the words: "crazy"
output.json:
I'm doing this test
So you guys can understand
What I'm saying
I'm a crazy test
And the result output.json would be:
I'm a crazy test
Right now, I've looked at the "lineinfile" module for ansible and it says:
"This module ensures a particular line is in a file, or replace an existing line using a back-referenced regular expression"
But it doesn't seems to fullfill my needs, any ideas?
Thanks
ansible
So I'm working with an Ansible playbook and my idea is to remove all lines from a debug variable but keep one. For example,
- name: Debug
debug:
var: json_response
Let's consider that json_response has 100+ lines. I would like to find my specific word and keep the line. Like this:
Keeping the line where you find the words: "crazy"
output.json:
I'm doing this test
So you guys can understand
What I'm saying
I'm a crazy test
And the result output.json would be:
I'm a crazy test
Right now, I've looked at the "lineinfile" module for ansible and it says:
"This module ensures a particular line is in a file, or replace an existing line using a back-referenced regular expression"
But it doesn't seems to fullfill my needs, any ideas?
Thanks
ansible
ansible
asked Nov 22 '18 at 11:11
Armandus FiltchArmandus Filtch
135
135
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20
add a comment |
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20
add a comment |
1 Answer
1
active
oldest
votes
If json_response
is a proper json data, you can use the json_query
filter to search for the keyword: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#json-query-filter
Else, if it's a plain multi-line string, you can use regex_search
filter instead: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#regular-expression-filters
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2fstackoverflow.com%2fquestions%2f53429692%2ferase-all-lines-but-one-using-ansible%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If json_response
is a proper json data, you can use the json_query
filter to search for the keyword: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#json-query-filter
Else, if it's a plain multi-line string, you can use regex_search
filter instead: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#regular-expression-filters
add a comment |
If json_response
is a proper json data, you can use the json_query
filter to search for the keyword: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#json-query-filter
Else, if it's a plain multi-line string, you can use regex_search
filter instead: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#regular-expression-filters
add a comment |
If json_response
is a proper json data, you can use the json_query
filter to search for the keyword: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#json-query-filter
Else, if it's a plain multi-line string, you can use regex_search
filter instead: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#regular-expression-filters
If json_response
is a proper json data, you can use the json_query
filter to search for the keyword: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#json-query-filter
Else, if it's a plain multi-line string, you can use regex_search
filter instead: https://docs.ansible.com/ansible/2.7/user_guide/playbooks_filters.html#regular-expression-filters
answered Nov 22 '18 at 12:46
Domingo TamayoDomingo Tamayo
12612
12612
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f53429692%2ferase-all-lines-but-one-using-ansible%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
Your example does not look like valid JSON.
– nwinkler
Nov 26 '18 at 11:20