Sponsored Content
Top Forums Shell Programming and Scripting Ls command in a for loop displaying error Post 303028751 by rbatte1 on Monday 14th of January 2019 07:49:01 AM
Old 01-14-2019
Do you risk having spaces, tab or other naughty characters in the directory name or file name? You would be safer to use "${3}/${file}" to ensure that the values are treated as a single item. if you have a for loop on items with spaces, then they will be split up and processed separately. For instance:-
Code:
whole_message="Hello world"
for one_message in ${whole_message}
do
   echo ${one_message}
done
Hello                                          # <---- Output split to one
world.                                         # <---- line for word

whole_message="Hello world"
for one_message in "${whole_message}"          # <--- Wrapped in double quotes
do
   echo ${one_message}
done
Hello world                                    # <---- Output for one value all written as one line.


I hope that this helps,
Robin
This User Gave Thanks to rbatte1 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Displaying what a command is doing/has done

I would like to see what a command is doing. For example, say I move 10 files using mv * somedir. Can I use some other command to see a verification of each files movement. Like: file1 moved to somedir file2 moved to somedir ... but, i'd to have this capability for all commands. it seems... (1 Reply)
Discussion started by: quantumechanix
1 Replies

2. Shell Programming and Scripting

displaying the path in the command line

Hi all, Does anyone know how to ammend the .cshrc file in $HOME for your session to display the path as part of the command line? So that I dont need to keep on typing pwd to see where I am? thanks Ocelot (2 Replies)
Discussion started by: ocelot
2 Replies

3. Shell Programming and Scripting

Displaying list of backup files using for loop

Hi, I want to display list of last 10 backup files (with numbering) from the temporary file c:/tmp/tmp_list_bkp.txt Example : 1) backup_file1 2) backup_file2 3) backup_file3 ........ ........ I tried as below but not working. for file in c:/tmp/tmp_list_bkp.txt do echo... (3 Replies)
Discussion started by: milink
3 Replies

4. UNIX for Dummies Questions & Answers

Trouble displaying parameters passed into a for loop

#!/bin/bash function check_num_args() { if ; then echo "Please provide a file name" else treat_as_file $* fi } function treat_as_file() { numFiles=$# for((i=1;i<=$numFiles;i++));do echo $i ... (3 Replies)
Discussion started by: kikilahooch
3 Replies

5. Shell Programming and Scripting

while loop error. (command not found)

can any1 please tell me what is problem with following code: i=1; cat test| while read CMD; do Var$i=$CMD; or Var$i=$(echo $CMD) ; let i++ doneI keep getting error : line 4: Var1=sometext: command not found (2 Replies)
Discussion started by: kashif.live
2 Replies

6. Shell Programming and Scripting

for loop with internal unix command in statement throwing error

Hi I've gotten a plugin script that won't run. I keeps throwing an error at the following line. for BARCODE_LINE in `cat ${TSP_FILEPATH_BARCODE_TXT} | grep "^barcode"` do #something done The error reads ... (3 Replies)
Discussion started by: jdilts
3 Replies

7. Shell Programming and Scripting

[Solved] While loop error when add sqlplus command

Hi gurus, I hit a block when write the script. I need do while loop, in the loop I have code below. sqlplus -s abc/abc@abc <<EOF spool testwhile select * from dual; spool off exit; EOF when I run script with only this code, it works fine. if I add code as below: #!/bin/ksh ... (5 Replies)
Discussion started by: ken6503
5 Replies

8. Red Hat

Displaying command return in one line

Hello all I have a query (SQL) that returns a rather long field from an Oracle database. The field in question is defined on 400 characters but all these 400 cannot be displayed by the echo command. Thus when I launch the following command: echo "SELECT FIELD01 FROM TABLE_NAME;" | sqlplus -s... (9 Replies)
Discussion started by: S. BASU
9 Replies

9. Shell Programming and Scripting

Problem while displaying(cat) file content inside telnet loop .

Hi Team, Not getting the file output inside my email which i am sending from unix box. . Please refer the below code : #!/bin/sh { sleep 5 echo ehlo 10.56.185.13 sleep 3 echo mail from: oraairtel@CNDBMUREAPZP02.localdomain sleep 3 echo rcpt to: saurabhtripathi@anniksystems.com... (1 Reply)
Discussion started by: tripathi1990
1 Replies

10. UNIX for Beginners Questions & Answers

Displaying multiple variables in for loop

Hi! I've run into a problem where my variables are displayed in the wrong order. Basically I'm supposed to use a file that has information like this username:firstname:lastname:etc:etc. What I'm interested in doing is reformating it into a something more like this: username lastname,... (2 Replies)
Discussion started by: reindeermountai
2 Replies
expand(1)						      General Commands Manual							 expand(1)

NAME
expand, unexpand - Replaces tab characters with spaces or spaces with tab characters SYNOPSIS
Current syntax expand [-t tablist] [file...] unexpand [-a | -t tablist] [file...] Obsolescent syntax expand [-tabstop | -tab1,tab2,...,tabn] [file...] STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: expand: XCU5.0 unexpand: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Replaces spaces at the beginning of each line with a tab, and inserts tab characters wherever their presence compresses the resultant file by replacing two or more characters. When the -t option is specified with the unexpand command, the -a option has no effect. (This option applies to the unexpand command only.) Specifies the tab stops. The tablist argument consists of a single positive decimal integer or multiple positive decimal integers, separated by spaces or commas, in ascending order. If a single number is specified, tabs are set tab- list column positions apart instead of the default (8). If multiple numbers are specified, tabs are set at those specific column posi- tions. Tabbing to tab stop position n thus causes the next character output to be in the (n+1)th column position on that line. If expand has to process a tab character at a position beyond the last of those specified in a multiple tab stop list, the tab char- acter is replaced by a single space in the output. Sets tab stops tabstop spaces apart instead of the default (8). (Obsolescent) Sets tab stops at specified columns. (Obsolescent) [Tru64 UNIX] Columns are measured in bytes. OPERANDS
The path name of a file to be processed. If you do not specify this operand, standard input is read. DESCRIPTION
The expand command changes tab characters to spaces in the named files, or the standard input, and writes the result to the standard out- put. The unexpand command puts tab characters into the data from the standard input, or the named files, and writes the result to the standard output. Backspace characters are preserved in the output and decrement the column count for tab calculations. The column position count cannot be decremented below one. The expand command is useful for preprocessing character files (before sorting, looking at specific columns, and so on.) that contain tab characters. By default, unexpand converts only spaces that are within sequences of spaces and tab characters at the beginnings of lines. Use -a to convert other sequences of spaces. NOTES
If the expand command encounters difficulties opening any specified file, it writes an error message to standard error and terminates imme- diately with an error status. If the unexpand command encounters difficulties opening any specified file, it writes an error message to standard error and continues operation. The exit status will reflect the error. EXIT STATUS
The following exit values are returned by either command: Successful completion. An error occurred. EXAMPLES
To replace tab characters in file with spaces, enter: expand file To replace the spaces in file with tab characters, enter: unexpand -a file ENVIRONMENT VARIABLES
The following environment variables affect the execution of expand and unexpand: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the inter- nationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non- empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: fold(1), tabs(1) Standards: standards(5) expand(1)
All times are GMT -4. The time now is 03:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy