03-16-2019
Quote:
Originally Posted by
RudiC
I'm a bit stumped by your "solution". In your original, unedited first post you had two (identical at the core) scripts working on the same input file, of which you claimed one showed satisfactory results, the other showed no output. That behaviour would not be explained by a non-*nix input text file.
Hi RudiC,
I believe that with bash, the
[[ string == pattern ]] comparison uses pathname pattern matching (rather than BRE or ERE matching), so having a trailing <CR> on the ends of the names stored in the file kept a pattern of
*"{" that was looking for the last character to be a
{ didn't match when the last character was a <CR>. It would match when he set a variable to the correct value without the trailing <CR>.
There are lots of ways this issue could be fixed. I'm still hoping that cmdcmd will tell us what method he selected when he solved this problem.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am new to shell scripting.I have worked somewhat with Perl though.
I am not able to find what the second line does and how does it do.
<code>
FP_RUNNING=`service filepool status`
FP_RUNNING=${FP_RUNNING%% *}
<\code>
After the first line,the variable FP_RUNNING stores '1 FilePool... (2 Replies)
Discussion started by: abhinavsinha
2 Replies
2. Shell Programming and Scripting
Hi,
Im pretty new to Unix. I came across a script which was using PLSQL inside a script and there was an unusual thing mentioned.
there was a variable assigned as
P_CUR=${1}
and one more as
V_TAGFILE="$1"
Couldnt find the difference. Also the variables were used in PLSQL... (1 Reply)
Discussion started by: njks68
1 Replies
3. Shell Programming and Scripting
Must be a bug or something. Whether I escape them or not, it will not work. No matter what I set the minimum and maximum to nothing gets caught. For instance:
find / -regex "/.{0, 50}.*" -maxdepth 1 or find / -regex "/.\{0, 50\}.*" -maxdepth 1 should pretty much catch everything residing within... (4 Replies)
Discussion started by: stevensw
4 Replies
4. Shell Programming and Scripting
Hi everyone:
I'm stuck at this point, could you guys please give me some hints about what I am doing wrong in the following script, I'm using sed for windows:
sed ^"$ {^
a^
STRINGTABLE DISCARDABLE^
BEGIN^
#define CLIENT_MODULE, "%CLIENT_MODULE%"^
#define CLIENT_ID, "%CLIENT_ID%"^... (1 Reply)
Discussion started by: edgarvm
1 Replies
5. Shell Programming and Scripting
I'm having trouble understanding the exclude option in tar. From some web sites, it seems one is able to exclude several strings by enclosing them in curly brackets. However it seems to be "random" what gets excluded when using the curlies.
I've been using the exclude-from=myfile option in a... (12 Replies)
Discussion started by: majest
12 Replies
6. UNIX for Dummies Questions & Answers
Hi everyone,
I've got a file that looks like this:
uid{508}pid{22224}pname{/PPROGRAM/pprgramx -profile:LIVE -serv:as ...
I want to pull the value of pid between the curly braces, or 22224 in this example. pid is always the second pair of curly braces, but the length of the number is... (7 Replies)
Discussion started by: Scottie1954
7 Replies
7. Shell Programming and Scripting
Hi Everyone,
in the below "xyz (Exception e)" part... after the curly braces, there is a new line and immediately few tabs are present before closing curly brace.
xyz (Exception e) {
}
note: there can be one or... (1 Reply)
Discussion started by: NY_777
1 Replies
8. Shell Programming and Scripting
Hi Everyone,
in the below "xyz (Exception e)" part... after the curly braces, there is a new line and immediately few tabs are present before closing curly brace.
xyz (Exception e) {
}
note: there can be one or more newlines between the curly braces.
My desired output should be ... (6 Replies)
Discussion started by: NY_777
6 Replies
9. Shell Programming and Scripting
Hi,
I have below command in one of the script. Can you please let me know what does the curly braces do over here \{1,\}. The remaining part of the code atleast I am able to understand.
sed -n 's/.*\-\()\{1,\}\)\-.*/\1/p' (13 Replies)
Discussion started by: tostay2003
13 Replies
10. Shell Programming and Scripting
Hello, i was trying to find get a command to list duplicated files so i tried
ls dir1 dir2 | awk '{x++}'
and it didnt work.
After a bit of searching online i found that it works without the curly braces
ls dir1 dir2 | awk 'x++'
I thought the curly braces were needed in awk so... (6 Replies)
Discussion started by: andy391791
6 Replies
LEARN ABOUT LINUX
git-check-ignore
GIT-CHECK-IGNORE(1) Git Manual GIT-CHECK-IGNORE(1)
NAME
git-check-ignore - Debug gitignore / exclude files
SYNOPSIS
git check-ignore [options] pathname...
git check-ignore [options] --stdin < <list-of-paths>
DESCRIPTION
For each pathname given via the command-line or from a file via --stdin, show the pattern from .gitignore (or other input files to the
exclude mechanism) that decides if the pathname is excluded or included. Later patterns within a file take precedence over earlier ones.
OPTIONS
-q, --quiet
Don't output anything, just set exit status. This is only valid with a single pathname.
-v, --verbose
Also output details about the matching pattern (if any) for each given pathname.
--stdin
Read file names from stdin instead of from the command-line.
-z
The output format is modified to be machine-parseable (see below). If --stdin is also given, input paths are separated with a NUL
character instead of a linefeed character.
-n, --non-matching
Show given paths which don't match any pattern. This only makes sense when --verbose is enabled, otherwise it would not be possible to
distinguish between paths which match a pattern and those which don't.
--no-index
Don't look in the index when undertaking the checks. This can be used to debug why a path became tracked by e.g. git add . and was
not ignored by the rules as expected by the user or when developing patterns including negation to match a path previously added with
git add -f.
OUTPUT
By default, any of the given pathnames which match an ignore pattern will be output, one per line. If no pattern matches a given path,
nothing will be output for that path; this means that path will not be ignored.
If --verbose is specified, the output is a series of lines of the form:
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
<pathname> is the path of a file being queried, <pattern> is the matching pattern, <source> is the pattern's source file, and <linenum> is
the line number of the pattern within that source. If the pattern contained a ! prefix or / suffix, it will be preserved in the output.
<source> will be an absolute path when referring to the file configured by core.excludesfile, or relative to the repository root when
referring to .git/info/exclude or a per-directory exclude file.
If -z is specified, the pathnames in the output are delimited by the null character; if --verbose is also specified then null characters
are also used instead of colons and hard tabs:
<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
If -n or --non-matching are specified, non-matching pathnames will also be output, in which case all fields in each output record except
for <pathname> will be empty. This can be useful when running non-interactively, so that files can be incrementally streamed to STDIN of a
long-running check-ignore process, and for each of these files, STDOUT will indicate whether that file matched a pattern or not. (Without
this option, it would be impossible to tell whether the absence of output for a given file meant that it didn't match any pattern, or that
the output hadn't been generated yet.)
Buffering happens as documented under the GIT_FLUSH option in git(1). The caller is responsible for avoiding deadlocks caused by
overfilling an input buffer or reading from an empty output buffer.
EXIT STATUS
0
One or more of the provided paths is ignored.
1
None of the provided paths are ignored.
128
A fatal error was encountered.
SEE ALSO
gitignore(5) gitconfig(5) git-ls-files(1)
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-CHECK-IGNORE(1)