Search a multi-line shell command output and execute logic based on result
The following is a multi-line shell command example:
Code:
$cargo build
Compiling prawn v0.1.0 (/Users/ag/rust/prawn)
error[E0433]: failed to resolve: could not find `setup_panix` in `human_panic`
--> src/main.rs:14:22
|
14 | human_panic::setup_panix!();
| ^^^^^^^^^^^ could not find `setup_panix` in `human_panic`
error[E0412]: cannot find type `DGConfig` in crate `prawn`
--> src/main.rs:25:27
|
25 | let db_config: prawn::DGConfig = envy::from_env().unwrap_or_else(|err| {
| ^^^^^^^^ help: a struct with a similar name exists: `DBConfig`
error: aborting due to 2 previous errors
What I would like to accomplish here is to use the above multi-lines returned by cargo build command. Search all multi-lines for error[] substrings and store the count in a variable so the result can be used to handle another case logic.
Ideally, I want to accomplish something along the following code block:
Code:
function cargo_watch_notify() {
echo "Watching for .rs file changes..."
count=0
"$(echo cargo build | egrep -w 'error' | ls -c >>>$count)"
if [ $count -ge 1 ]; then
growlnotify --title "Error" --message "Compiler found $count errors!"
else
growlnotify --title "Success" --message "Cargo build compiled successfully!"
fi
exit 1;
}
I realize the above block is broken. This is just what I have to work with for the moment. The only difference in my example is that I need to search for error and brackets strings and not the error string by itself. i.e. error[E0412] the top cargo build command should return a count of 2
Hi every one
I'm writing C program that do the following:
will creat new sample command in unix using C
let be the name is do.c, the do must execute more the one command
for example do ls ps
it will execute ls the ps
also I should create a log file the track the command and exit status of... (4 Replies)
Hi I am trying to run 2 servers using a script one after the other.
I start the first one:
run.sh -c servername >> jboss_log.txt &
Then I have to wait until I see Started message in the log file before I launch the other server.
I can't use sleep because I am not sure how long it'll... (5 Replies)
Hi,
My Oracle query is returing below o/p
----------------------------------------------------------
Ins trnas value
a lkp1 x
a lkp1 y
b lkp1 a
b lkp2 x
b lkp2 y ... (7 Replies)
I have a file with data records separated by multiple equals signs, as below.
==========
RECORD 1
==========
RECORD 2
DATA LINE
==========
RECORD 3
==========
RECORD 4
DATA LINE
==========
RECORD 5
DATA LINE
==========
I need to filter out all data from this file where the... (2 Replies)
Hi
I have a different requirement,
I need to run some application on my device from a file app_name.txt one by one which is like this:
/usr/apps/email
/usr/apps/message
/usr/apps/settings
after each app while it is running I need to execute again one cmd like
ps -ef |grep... (2 Replies)
Hi I would appreciate your help with this.
I have a output file from a command. It is broken based on initial of the users. Exmaple of iitials MN & SS. Under each section there is information pertaining to the user however each section can have different number of lines. MY challenge is to ... (5 Replies)
I have a simple task to replace unix line feed end of line characters with carriage returns.
When I run the following “change file in place” sed instruction from the command line all the Line feeds are successfully replaced with Carriage returns.
sed -i 's/$/\r/' lf_file.txt
But that same... (1 Reply)
Hello :)
new to bash not to programming.
I have an on-going need to change the owning group on sets of files and directories from the one they were created with or changed to on update to the one they need to have going forward.
find {target_root} -group wrong_group
gets me a newline... (4 Replies)
Hi everyone,
I have two question
1- I want to execute command in shell and after execution result show in a web server. (kind of making UI )
e.g.
in shell
root ~: show list
item1
item2
item(n)in web server
in a page draw a table and show those items in itno | name... (1 Reply)
Hi,
Can anyone help me for merge the following multi-line log which beginning with a " and line ending with ": into one line.
*****Original Log*****
087;2008-12-06;084403;"mc;;SYHLR6AP1D\LNZW;AD-703;1;12475;SYHLR6AP1B;1.1.1.1;0000000062;HGPDI:MSISDN=12345678,APNID=1,EQOSID=365;... (3 Replies)
Discussion started by: rajeshlinux2010
3 Replies
LEARN ABOUT DEBIAN
scan-build
SCAN-BUILD(1)SCAN-BUILD(1)NAME
scan-build
scan-build(1)-- An utility for running the clang(1) analyzer from the command line
SYNOPSIS
scan-build options build command [build options]
DESCRIPTION
scan-build is a command line utility that enables a user to run the clang static analyzer over their codebase as part of performing a regu-
lar build (from the command line).
OPTIONS -analyze-headers
Also analyze functions in #included files.
-o Target directory for HTML report files. Subdirectories will be created as needed to represent separate "runs" of the analyzer. If
this option is not specified, a directory is created in /tmp (TMPDIR on Mac OS X) to store the reports.
-h, --help
Display the help message.
-k Add a "keep on going" option to the specified build command.
--keep-going
This option currently supports make and xcodebuild. This is a convenience option; one can specify this behavior directly using build
options.
--html-title [title]
Specify the title used on generated HTML pages.
--html-title=[title]
If not specified, a default title will be used.
-plist By default the output of scan-build is a set of HTML files. This option outputs the results as a set of .plist files.
--status-bugs
By default, the exit status of scan-build is the same as the executed build command. Specifying this option causes the exit status
of scan-build to be 1 if it found potential bugs and 0 otherwise.
--use-cc [compiler path]
By default, scan-build uses 'gcc' to compile and link
--use-cc=[compiler path]
your C and Objective-C code. Use this option to specify an alternate compiler.
--use-c++ [compiler path]
By default, scan-build uses 'g++' to compile and link
--use-c++=[compiler path]
your C++ and Objective-C++ code. Use this option to specify an alternate compiler.
-v Verbose output from scan-build and the analyzer. A second and third '-v' increases verbosity.
-V View analysis results in a web browser when the build
--view completes.
ADVANCED OPTIONS :
-constraints [model]
Specify the contraint engine used by the analyzer. By default the 'range' model is used. Specifying 'basic' uses a simpler, less
powerful constraint model used by checker-0.160 and earlier.
-store [model]
Specify the store model used by the analyzer. By default, the 'region' store model is used. 'region' specifies a field sensitive
store model. Users can also specify 'basic', which is far less precise but can more quickly analyze code. 'basic' was the default
store model for checker-0.221 and earlier.
-no-failure-reports
Do not create a 'failures' subdirectory that includes analyzer crash reports and preprocessed source files.
EXAMPLES
Basic usage of scan-build is designed to be simple: just place the word "scan-build" in front of your build command:
$ scan-build make
$ scan-build xcodebuild
In the first case scan-build analyzes the code of a project built with make and in the second case scan-build analyzes a project built
using xcodebuild.
It is also possible to use scan-build to analyze specific files:
$ scan-build gcc -c t1.c t2.c
This example causes the files t1.c and t2.c to be analyzed.
AUTHORS
Maintained by the Clang / LLVM Team http://clang.llvm.org.
This manual page was written by Ermenegildo Fiorito fiorito.g@gmail.com for the Debian Project.
SEE ALSO clang(1)scan-view(1) http://clang-analyzer.llvm.org
December 2010 SCAN-BUILD(1)