If you fill both fields the output in the terminal is
file|this is some text|
Wouldn't it be easy to get them using awk by defining |
as a field separator?
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
If you fill both fields the output in the terminal is
file|this is some text|
Wouldn't it be easy to get them using awk by defining |
as a field separator?
It is the only solution I found. I described it in the post but put it behind a "spoiler" "What doesn't work" to make the post shorter.
This seems unmanageable because adding a new field or failing to provide input for a field will both change the output order of every subsequent value. It's way too fragile.
I have an array based solution but it doesn't solve the cases of changing the order or empty fields.
Try something like IFS='|' read f1 f2 < <(zenity <...>)
where f1, f2 etc. are variable names.
If you leave some of the field blank will it be able to skip assigning the respective variable? That's one problem with the positional values.
Did I miss what you are asking or is this it?
cat /etc/mtab 2>&1 | tee /tmp/tab.txt | yad --title="output" --width=154 \
--text="$(cat /tmp/tab.txt)
grep sda /etc/mtab 2>&1 tee /tmp/tab.txt | yad --title="output" \ --width=154 --text="$(cat /tmp/tab.txt)"
I'm not sure if that is working properly on my system. It opens a dialogue box that just has content ""
with cancel/ok buttons .
I tried populating a file tab.txt with a few lines because I am not sure if my results from the first part are what's expected, which is 1 line. No matter what the content the best I can do is get the first line to show in the dialogue but not in an interactive way.
Tbh having a bit of a hard time following what's going on with 2>&1 tee
. But I am not sure how it could be the right thing as I don't see more than input
?
What I want is to open a dialogue like this:
yad --title "Create a file" --form --field="File name" --field="Content
where the user's input gets directed to some sort of structure. Like an argument As though you had a terminal script with the syntax scriptname --filename="file.txt" --content="red green blue"
.