Programming :: Reading Command Output By Line In Bourne Script?
Feb 13, 2010I have a command which generates the following output:
Code:
$ sudo vnconfig -l
vnd0: not in use
[code]...
I have a command which generates the following output:
Code:
$ sudo vnconfig -l
vnd0: not in use
[code]...
I try to write script and echo two command at the same line .
echo "A"
echo "B"
How can I pipe above two command at the same line in text file . So, in the output text file , you can see below ? Code: A B not Code: A B
I'm troubleshooting a batch of scripts I'm modifying, including an IDL script called by a .csh script. the IDL scripts were provided to me by a coworker and my .csh script is intended to automate a lengthy set of extremely tedious and time consuming processing tasks.
I am currently in the process of debugging, and can't get the IDL to print any messages other than critical failures to the screen. Is there any easy way to redirect the stdout to either a logfile or the screen?
I have a set of files containing data that I need to re-arrange into one single property list.
The files that I have look like this:
Code:
# cat uk
<string>10</string>
<string>11</string>
...
<string>29</string>
[Code]....
So the lines in the files match up but I haven't found a way of reading several files line by line.
I have a code over there. It reads a line from file and converts contents of it to double.
Code:
/*
* fileRead.c
[code]...
I have a text file (myfile.txt) with columns a,b,c.
123 2 23
124 2 24
125 2 22
[code]...
I've never programed shell scripting.
Code goes like so:
I simply want to read a file "data.txt" line by line Then char by char and add them into a result var. The file is supossed to always contain numeric values
Code:
I'm trying to make several files: each named after the display and containing resolutions. But for some reason I get null when trying to read lines.
Here is the issue. I am reading in a outside text file and putting in the string on that line into a char array that is already allocated.
Code:
int main(int argc, char *argv[])
{
[code]....
If I grep -nr sumthin * in my source code directory, it also spews out very long lines from minified JavaScript or CSS files. I want to get just the first 80 characters per line. For example, a regular grep gives me this:
css/style.css:21:behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:10px;z-index:13;}.arrow2{cursor:pointer;position:absolute;right:5px;bottom:10px;z-index:13;}.calendarModule{z-index:100;}.calendarFooterContainer{height:25px;text-align:center;width:100%!important;z-index:15;position:relative;font-size:15px!important;padding:-2px 0 3px 0;clear:both!important;border-left:1px solid #CCC;border-right:1px ... etc.
But I'd like to get just this instead:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
What Linux command can do this?
I have the following shell:
export PATH=/u01/app/oracle/product/10.2.0/db_2/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
ftp -u -v -n -i > /bk01/exports/FTP_OUTPUT.LOG <<EOF
open 197.0.0.78
user orabackup orabackup
cd /media/disco/BK_Oracle
bin
put FILE00001.LOG
put FILE00001.DMP
quit
EOF
Executing the shell from command line, the output is:
Connected to 197.0.0.78.
220 Bienvenido al servicio FTP del servidor backup.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
331 Please specify the password.
230 Login successful.
250 Directory successfully changed.
200 Switching to Binary mode.
local: EXPO_APOT10G_20100531.LOG remote: EXPO_APOT10G_20100531.LOG 227 Entering Passive Mode (197,0,0,78,200,162) 150 Ok to send data. 226 File receive OK. 127498 bytes sent in 0.0022 seconds (5.7e+04 Kbytes/s)
local: EXPO_APOT10G_20100531.DMP remote: EXPO_APOT10G_20100531.DMP
227 Entering Passive Mode (197,0,0,78,175,141) 150 Ok to send data. 226 File receive OK. 458190848 bytes sent in 6.1 seconds (7.3e+04 Kbytes/s)
221 Goodbye.
Executing the shell from cron, the output is:
Connected to 197.0.0.78 (197.0.0.7.
220 Bienvenido al servicio FTP del servidor backup.
331 Please specify the password.
230 Login successful.
250 Directory successfully changed.
200 Switching to Binary mode.
local: EXPO_APOT10G_20100531.LOG remote: EXPO_APOT10G_20100531.LOG
local: EXPO_APOT10G_20100531.DMP remote: EXPO_APOT10G_20100531.DMP
221 Goodbye.
Why from cron the output no show the statistics in red ...?
I try to write script and echo two command at the same line .
echo "A"
echo "B"
How can I pipe above two command at the same line in text file . So, in the output text file , you can see below?
Code:
A B
not
Code:
A
B
how to use multiple linux cut comman to display on same line ?
e.g ls -il | cut -f6 d:
ls - il cut -f9 -d:
The linux script output is
filename
123
How to use cut to display on same line ?
I'm trying to remotely run a script on a target machine though the ssh command-line using passwordless login. I know the keys are set up correctly because if I remove the call to the script, the ssh session succeeds and I can log into the remote machine, but when I call the csh script, I don't get any output on the command line. If I call an identical bash script, I do get the output. Specifically, calling line 1 below just returns me to the command line, but running line 2 echo's hello then returns to the command line (both scripts simply contain a single line to echo hello, and both work when run locally on the remote machine). Why do my csh scripts send any output through the ssh link whereas the bash does?
Code:
1) ssh -i /root/.ssh/id_rsa user@remotemachine /tmp/test.csh
2) ssh -i /root/.ssh/id_rsa user@remotemachine /tmp/test.bash Update: I have further determined that nothing I add to the csh gets run either. I've tried touching files and making directories in the scripts, and all gets run using the bash script, but calling the csh script like line 1 above does nothing, nothing is touched or created.
I have copied over my .gnupg files from a computer to a new workstation that is running Mandriva 2010.2. I am running Thunderbird as a mail client just as before and got Enigmail installed and running fine. The problem I get is when I send a message off with a digital sig it returns this error:
Send operation aborted
Error - bad passphrase
gpg command line and output:
/usr/bin/gpg
gpg: cancelled by user
It does not give me a chance to enter in the passphrase. I copied over the .gnupg files to my Ubuntu laptop running Thunderbird with Enigmail and I have no problems. Could there be an issue going from 32 bit to 64 bit? I checked out the forums and found no answers.
I am using gtk to program GUI. How can I show the output of shell command into a textbox, ex ps -efc command ?
View 3 Replies View RelatedI have a problem with YaST Partitioner. When I launch it, a window opens, a dialog (to confirm that I know what I am doing) pop-ups, I choose "Yes", the application starts to initialize, and after 0.5-1s the window is closed without any error message. Does anybody know how to at least find out what is wrong? .. or how to launch it from command line to get some output?
View 8 Replies View RelatedHere is some line I have written in perl to show my name :
[code]...
And after stdin kumar, its giving the output as
[code]...
output should be [code]... but why its coming in two lines?
Code: cmd='date | wc'
$cmd If this script is executed, an error is generated. The reason written was that "The execution fails because the pipe is not expanded and is passed to date as an argument".What is meant by expansion of pipe. When we execute date | wc on the command line, it goes fine.then | is not treated as an argument. Why?
I am trying to learn how to pass more than a one-command startup for gnome-terminal.
I will give an example of what I'm trying to do here:
Code:
#! /bin/bash
#
#TODO write this for gnome and xterm
USAGE="
${0##*/} [-x] [-g]
code....
However, running with the -g option to invoke gnome-terminal, I get a "There was an error creating the child process for this terminal" error.
This same error occurs if the gnome-terminal line is changed to
Code:
gnome-terminal -e mcTerm
Is there any way to pass more than one command on to gnome-terminal? I have tried various single and double quoting senarios and in a final attempt, I abstracted to an exported function all to no avail. Perhaps even though gnome-term is better at many things than xterm, xterm trumps it in this instance.
Can anyone tell me what the pros and cons are between heirloom-mailx vs mailutils? This is for ubuntu 10.04 LTS. AT this point my only purpose is to use the mail command line program to occasionally send log output to email aliases.
View 2 Replies View RelatedI'm trying to convert this awk command from command line into an awk script, but just cannot get it to work:
This is what i have after my BEGIN
Am i missing something here? this just prints out the count for everyline, not counting lines on 5th field that match 'A'
The output of a command changed and I need to extract the data and print it out in a different fassion:
Code:
abcd1=aaaa xx
abcd 2 aaa xx bbb
abcd2=aaaa xy
ab 2 xx aaa bbb ccc xxx
should be transformed to:
[Code]...
Currently I used sed "search1|search2|search3" to get the lines that need to be transformed. But I also need to search for substrings in those lines and I need to print those substrings in a specific order together with other characters. How is this done with sed?
I am trying to grep multiple numbers from file, grep does have the -f option for that.
Code: grep -f <`seq 500 520` /etc/passwd I know this could be done with
Code: for i in `seq 500 520`; do grep "$i" /etc/passwd; done But my question is fare more behind this example. It is possible to redirect one command output which will be treat as a content of file for another command ?
While making a shell ,there is the following problem Im facing:
I am expecting the user to enter commands in the following format :
I am to separate these and the output of ls -l should be given as input to grep and the output of both to more.
But I am allowed (by our instructor) to use dup/dup2 or any other command(but not pipe or tees).
How to connect the file descriptors after successful execution of each command?
I have found this from a site [url]
Code:
But it does not work for me, segfault.
I need to find one RUNNING word in latest created logs.
and as soon as i will get RUNNING WORD , i have to execute another Unix Command.
I wrote following script code...
After typing "man cut" in my terminal I can't seem to find this answer.
I am trying to write several shell scripts and want to remove the 'lp:<package name>' from the beginning of each line of the output of "bzr ls" as well as any notices at the beginning of the output, leaving only file and folder paths.
I am trying to process a column separated data file, with a few bash command. For example, I have
Code:
file1 aaaa yes
file2 aaaa no
file3 bbbb yes
Let say I want to create new file with the output of first column and do something else with the output of 3rd column. Of course there are many ways to process this data file, but I wish to know by using awk, how could I do it. I'm trying:
Code:
awk '{system("touch $1")}' datafile
but the shell command will not able to get the awk '$1' output. How do I get this done ? And for another question, if the data file contains the variable name of a shell variable, how could I make use of it during a awk output ? For example I have a datafile1:
Code:
server1 yes
server2 no
And in another server declaration data file, I got this datafile2:
Code:
server1=xxx1
server2=yyy1
And in my awk script, I want to achieve something like (the syntax is definitely wrong, just to demonstrate what I assume it will like):
[code]....
I am trying to execute a Unix Command in perl and assigning its output to an array:
Code:
@File_List=exec("ls -1 /tmp");
but it is not working. I have tried the perl function system() also but its return code is
[code]...