You are welcome. If you try:
You'll notice that the first one evaluates to -n and the second one to -n ''
In the first case the there is no protection of variable p, which contains an empty field. Since there is not protective quotes around $p, the result is field split and since $p is empty this results in 0 fields. So wat remains "-n" which is a test if the string "-n" is non empty
([ "$somestring" ] if the same as [ -n "$somestring"], I prefer the latter for clarity, so in fact [ -n ] is equivalent to [ -n -n ])
In the second case the result of "$p" is not field split and so the -n is interpreted as an operator with one field as parameter, which contains an empty variable, and this evaluates to false .
So that is yet another reason to put quotes around variable expansions.
I hope this clarifies things...
Last edited by Scrutinizer; 06-21-2016 at 03:55 PM..
This User Gave Thanks to Scrutinizer For This Post:
Hi,
I need to delete an empty directory in a temp directory except "dir5" (keep everything that is not empty).
Plese advise.
Here is an example of my directory.
/dir/temp/
dir1 - delete if this is empty
dir2 - delete if this is empty
dir3 - delete if this is empty
dir4 - delete if this... (7 Replies)
I know this one was answered before in forum below -
https://www.unix.com/unix-dummies-questions-answers/58210-removing-empty-folders-using-find-command.html
But that one is closed & I have a question so here it goes.
I want to delete all 2006 files. Now if along with the files, if the... (2 Replies)
Hello:
I searched here for "vi -c" but found no hits.
How can I use vi -c to remove ALL empty lines, regardless of how many?
I tried
<code>
vi -c ":g/^$/d | wq" filename
</code>
but I have to run it several times.
This is NOT homework. :)
Thanks for your time. (3 Replies)
Hi all,
I'm trying to remove when this condition is met: an empty and the next one
I'm using this command:
sed '/^$/N; s/&//' file
Which searches for an empty line, N attaches it to the next line, and substituing the combination with nothing.... but it is not working.
What I'm missing... (1 Reply)
Hi all !
I'm sure it is a basic question but I didn't find any threads that fit my need.
How to remove empty fields with awk?
Or in other words, how to shift all the fields after an empty field on the left?
input:
1|2||3|4|5||6
wanted:
1|2|3|4|5|6
I tried:
awk '{for(i=1; i<=NF;... (7 Replies)
Hello:
Is there a simple way to remove empty records of FASTA format file?
A FASTA format consists of two parts: header and sequence (for non-biologist, Wiki for details of course!). The header always start with ">" for the name of the sequence. The header must be in this ONLY single line.... (9 Replies)
Hello,
I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be:
SRVXPAPI001 ERRO JUN24 07:28:34 1775
REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F
... (8 Replies)
Hi all,
I've got a file that has 12 fields. I've merged 2 files and there will be some duplicates in the following:
FILE:
1. ABC, 12345, TEST1, BILLING, GV, 20/10/2012, C, 8, 100, AA, TT, 100
2. ABC, 12345, TEST1, BILLING, GV, 20/10/2012, C, 8, 100, AA, TT, (EMPTY)
3. CDC, 54321, TEST3,... (4 Replies)
Discussion started by: tugar
4 Replies
LEARN ABOUT OSX
textutil_split
textutil::split(n) Text and string utilities, macro processing textutil::split(n)
__________________________________________________________________________________________________________________________________________________NAME
textutil::split - Procedures to split texts
SYNOPSIS
package require Tcl 8.2
package require textutil::split ?0.7?
::textutil::split::splitn string ?len?
::textutil::split::splitx string ?regexp?
_________________________________________________________________DESCRIPTION
The package textutil::split provides commands that split strings by size and arbitrary regular expressions.
The complete set of procedures is described below.
::textutil::split::splitn string ?len?
This command splits the given string into chunks of len characters and returns a list containing these chunks. The argument len
defaults to 1 if none is specified. A negative length is not allowed and will cause the command to throw an error. Providing an
empty string as input is allowed, the command will then return an empty list. If the length of the string is not an entire multiple
of the chunk length, then the last chunk in the generated list will be shorter than len.
::textutil::split::splitx string ?regexp?
This command splits the string and return a list. The string is split according to the regular expression regexp instead of a simple
list of chars. Note that if you parentheses are added into the regexp, the parentheses part of separator will be added into the
result list as additional element. If the string is empty the result is the empty list, like for split. If regexp is empty the
string is split at every character, like split does. The regular expression regexp defaults to "[\t \r\n]+".
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category textutil
of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
SEE ALSO
regexp(n), split(n), string(n)
KEYWORDS
regular expression, split, string
CATEGORY
Text processing
textutil 0.7 textutil::split(n)