$ rm * ; touch a b c ; bash -c "ls | sort > out" ; cat out
a
b
c
$ rm * ; touch a b c ; bash -c "ls | sort > out" ; cat out
a
b
c
$ rm * ; touch a b c ; bash -c "ls | sort > out" ; cat out
a
b
c
out
$
Sometimes I get it. Sometimes I don't. To implement the pipeline, the shell has two processes, one for ls and one for sort. There is no guarantee that the ls process will complete the directory read before the sort process opens its output file. It's a race condition that results in variable results. put the output file in another directory.
If you don't get variable results, try other shells or other platforms with more cpu's available. Or vary the other workload that the system is running while it runs your pipeline.
I have the following script:
mysort.sh:
#!/bin/ksh
for i in `ls`
sort -bfu $i > sort_$i
wait
mv sort_$i $i
wait
done
exit 0
I get the following error:
mysort.sh: syntax error at line 3 : `sort' unexpected
Does anybody know what I am missing here. ... (2 Replies)
Hi All,
I probably miss something fundamental here.
I want to rename a bunch of files in subdirectories (that might contain white spaces) with names that are related.
I thought following could do the job:
find . -name *.sh -exec mv {} $(echo {} | sed -e 's/0/1/g') \;
Now to be able to... (5 Replies)
I am in the process of writing a script to change the grub password in the grub.conf file. I thought I had it figured out, but am running into an a problem I can't put my finger on.
Command I am running when I find that the grub.conf file contains "password --md5".
sed... (1 Reply)
Hi I'm just learning programming and need some help.
I've taken a data file which has a list of numbers eg:
3
5
32
533
13
2
And I've used sort -n and to sort and then piped it to awk to arrange into an array.
#!/bin/sh
sort -n data.txt |
awk '
{
array=$1
} (4 Replies)
I hv a file --am executing a script which is giving me unexpected results
COntents of file:
f1
CMT_AP1_CONT:/opt/sybase/syboc125:150:ASE12_5::Y:UX:
CMT_AP1:/opt/sybase/syboc125:150:ASE12_5::Y:UX
f1.tmp
CMT_AP1_CONT:/opt/sybase/syboc125:150:ASE12_5::Y:UX:... (2 Replies)
Hi,
I'm trying to sort a text file "test":
S12
S_S12
S_S1_12
S15
S_N15
S_N1_15
By "sort test", I get:
S12
S15
S_N1_15
S_N15
S_S1_12
S_S12
It seems weird:
Comparing Line 2 and Line 3, it must be that '-' is bigger than '1'; however, comparing Line 3 and Line 4, it seems that... (3 Replies)
Hi,
Trying to sort grep result based on timestamp of the filename.
I have the following result and want to sort them on timestampgrep -i 'ERROR' *log*2013*
s_m_xxx_xxx_xxx_xxx_xxxx.log.20130906092431:TRANSF_1_1_1> DBG_21216 Finished transformations for Source Qualifier . Total errors ... (5 Replies)
Hi! all here is my code
which is working fine no errors but I want to know how to take result and input to other program
awk 'FNR==1{i++}{LC=NR}
{for(k=1; k<=NF; k++) A=$k}
END{for (i=1;i<=LC;i++)
{
for(j=1;j<=LC;j++)
if(A=='$UID' && A>='$MX'+A &&... (7 Replies)
Hello,
I am new to Unix and would like to seek a help, please.
I have 2 files (file_1 and file_2), I need to perform the following actions.
1 ) Sort the both file by the column 26-36 (which is Invoice number)
what is sort command with the column sort?
2) Compare the file_1.sorted and... (3 Replies)
Hello,
Giving those commands:
cat > myfile
1
2
3
^D
cat myfile | awk '{ s=s+$1 ; print s}'
The output is:
1
3
6
It seems like this command iterates each time on a different row so $1 is the first field of each row.. But what caused it to refer to each row ?.
What I mean... (3 Replies)
Discussion started by: uniran
3 Replies
LEARN ABOUT MOJAVE
systemd-cat
SYSTEMD-CAT(1) systemd-cat SYSTEMD-CAT(1)NAME
systemd-cat - Connect a pipeline or program's output with the journal
SYNOPSIS
systemd-cat [OPTIONS...] [COMMAND] [ARGUMENTS...]
systemd-cat [OPTIONS...]
DESCRIPTION
systemd-cat may be used to connect the standard input and output of a process to the journal, or as a filter tool in a shell pipeline to
pass the output the previous pipeline element generates to the journal.
If no parameter is passed, systemd-cat will write everything it reads from standard input (stdin) to the journal.
If parameters are passed, they are executed as command line with standard output (stdout) and standard error output (stderr) connected to
the journal, so that all it writes is stored in the journal.
OPTIONS
The following options are understood:
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
-t, --identifier=
Specify a short string that is used to identify the logging tool. If not specified, no identification string is written to the journal.
-p, --priority=
Specify the default priority level for the logged messages. Pass one of "emerg", "alert", "crit", "err", "warning", "notice", "info",
"debug", or a value between 0 and 7 (corresponding to the same named levels). These priority values are the same as defined by
syslog(3). Defaults to "info". Note that this simply controls the default, individual lines may be logged with different levels if they
are prefixed accordingly. For details, see --level-prefix= below.
--level-prefix=
Controls whether lines read are parsed for syslog priority level prefixes. If enabled (the default), a line prefixed with a priority
prefix such as "<5>" is logged at priority 5 ("notice"), and similar for the other priority levels. Takes a boolean argument.
EXIT STATUS
On success, 0 is returned, a non-zero failure code otherwise.
EXAMPLES
Example 1. Invoke a program
This calls /bin/ls with standard output and error connected to the journal:
# systemd-cat ls
Example 2. Usage in a shell pipeline
This builds a shell pipeline also invoking /bin/ls and writes the output it generates to the journal:
# ls | systemd-cat
Even though the two examples have very similar effects the first is preferable since only one process is running at a time, and both stdout
and stderr are captured while in the second example, only stdout is captured.
SEE ALSO systemd(1), systemctl(1), logger(1)systemd 237 SYSTEMD-CAT(1)