I hope you don't mind a quick answer that can certainly be improved. I'm afraid I've been a bit unwell, so please pardon the rather brutish nature of the script, and the tcsh. Hopefully, since this can be placed in its own script file, the particular shell won't matter. First, note this relationship:
(# of | in line) = (number of fields in line) -1
So, for example, there are 3 fields and 2 pipes in:
a|b|c
So, simply expect values 1 higher than the terms in which you expressed your problem; a metric boatload of files with 14 fields, and 1 with 15.
I named this script "fieldcounter". You can call it whatever you like, but make sure to change "fieldcounter" in the foreach line accordingly. There are a couple of assumptions. First, I assume that everything in the directory is a file (as opposed to a directory, say); second, that you want to examine everything in the directory; third, that the first line of each file is just data, and isn't a special, differently-formatted header line. Each of these assumptions is easy enough to change and account for, but they are there nonetheless.
So, give it a shot... if there are, in fact, errors in my assumptions, or some other factor, let us know. I'm certain we can piece something together that'll work.
Last of all, this is written as an infrequently-applied solution. If you're going to do this often, something faster would be beneficial.
I'm trying to create a minimal, crude keylogger for X using only a shell script. I was quickly stumped: Why do these two commands entered in a terminal emulator produce output when I type...
$ xinput test 6 | grep press
$ xinput test 6 | awk '{print $3}'
...but this command produces no... (13 Replies)
So I have several files (35000, to be exact) in the format rmsd_protein_*.dat each with 2 columns and 35000 rows.
I would like to count how many values in the second column are less than 3 for each file, and output it into a new file so that it ultimately appears as:
1 14057
2 ... (12 Replies)
Hello,
I have been working on Awk/sed one liner which counts the number of occurrences of '|' in pipe separated lines of file and delete the line from files if count exceeds "17".
i.e need to get records having exact 17 pipe separated fields(no more or less)
currently i have below :
awk... (1 Reply)
Hello Everyone.
I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below:
if ; then
if ; then
tail +$1 $3 | head -n $2
else
... (5 Replies)
Hi all
I want to count total numbers of sentences separated by fullstop (.) in different files under a directory at one go. Any help is appreciated. (3 Replies)
say i've got a text file with >10million sequences:
ssss
ssss
tttttt
uuuuuu
uuuuuu
uuuuuu
...
I'd like to convert the file so that the output will report the number of occurence right by each sequence:
2 ssss
2 ssss
1 tttttt
3 uuuuuu
3 uuuuuu
3 uuuuuu
.... (3 Replies)
Hi all,
I use bash shell and I have a problem with wc.
I would like to determine the number of lines in a file so I do
wc -l filename
but I don't want to get the filename again
I just would like to have the number of lines and use it in a variable.
Can anybody help?
Thank you, (7 Replies)
Hi All,
I have to count the number of occurences of the character " ; " in a given line.
I had used the following awk command to achieve the same
echo $KOP.dat|awk '{split($1,my,";"); for(i in my)c++ }END{print c-1}'
My file KOP.dat had the following data
... (1 Reply)
Hello,
I have afile which begins with a few urls on multiple lines and then there is listing of some information on separate lines.
The listing begins with the word Name on a given line followed by teh actual list.
I want to count the number of lines in this file after the line having... (6 Replies)