Sponsored Content
Full Discussion: how to get input from file
Top Forums Shell Programming and Scripting how to get input from file Post 302070534 by Rakesh Ranjan on Wednesday 5th of April 2006 02:02:26 PM
Old 04-05-2006
There may be many ways of doing this i'll describe just one & probably the easiest one.
Assuming that u r taking input from a fixed file 'input.txt' (whose content u might be changing when u have to pass different parameters). U can make a simple change in ur script. Just put this before u use the postional variables (i.e. $1,$2..etc)
Code:
set `cat input.txt`

A sample script can be
Code:
#!/bin/bash
set `cat input.txt`
echo $1 $2 $3 $4

Above script will just print the parameters (where parameters itself come from the file). If u intend to take the filename as argument then u can do something like this: set `cat $1`

One more thing i would just like to mention is that the redirection is a capability of the shell and the script or command invoked might not even know that anything like this happened. Many commands on Unix process the standard input if no argument is specified and there u can use ur redirection but this is no way same as passing parameter. Like sort or cat, sort or display file that is passed as argument but if no argument is passed standard input is sorted(by sort) or anything written on std. input is displayed back(by cat). So in effect
sort filename (or cat filename) and sort <filename (or cat <filename) are same but they performed in very different ways. Hope u get me. An excellent description of this can be found in Programming in Unix Enviroment by Brian.W.Kerninghan & Rob Pike.

Regards
Rakesh

Last edited by Rakesh Ranjan; 04-06-2006 at 03:05 PM..
This User Gave Thanks to Rakesh Ranjan For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Reading specific contents from 1 input files and appending it to another input file

Hi guys, I am new to AWK and unix scripting. Please see below my problem and let me know if anyone you can help. I have 2 input files (example given below) Input file 2 is a standard file (it will not change) and we have to get the name (second column after comma) from it and append it... (5 Replies)
Discussion started by: sksahu
5 Replies

2. Shell Programming and Scripting

Need script to take input from file, match on it in file 2 and input data

All, I am trying to figure out a script to run in windows that will allow me to match on First column in file1 to 8th Column in File2 then Insert file1 column2 to file2 column4 then create a new file. File1: 12345 Sam 12346 Bob 12347 Bill File2:... (1 Reply)
Discussion started by: darkoth
1 Replies

3. Shell Programming and Scripting

Script to delete files with an input for directories and an input for path/file

Hello, I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall: I regularly need to delete files from many directories. A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Discussion started by: *ShadowCat*
3 Replies

4. Shell Programming and Scripting

XML variable for input in same input file

Dear All , i stuck in one problem executing xml .. i have input xml as <COMMAND name="ARRANGEMENT.WRITE" timestamp="0" so="initial"> <SVLOBJECT> <LONG name="CSP_PMNT_ID" val="-1"/> <MONEY name="CSP_CEILING" amount="0.0" currency="AUD"/> ... (6 Replies)
Discussion started by: arvindng
6 Replies

5. Shell Programming and Scripting

Read input files and merge them in given order and write them to input one param or one file

Dear Friends, I am looking for a shell script to merge input files into one file .. here is my idea: 1st paramter would be outfile file (all input files content) read all input files and merge them to input param 1 ex: if I pass 6 file names to the script then 1st file name as output file... (4 Replies)
Discussion started by: hyd1234
4 Replies

6. Shell Programming and Scripting

How to read each line from input file, assign variables, and echo to output file?

I've got a file that looks like this (spaces before first entries intentional): 12345650-000005000GL140227 ANNUAL HELC FEE EN 22345650-000005000GL140227 ANNUAL HELC FEE EN 32345650-000005000GL140227 ANNUAL HELC FEE EN I want to read through the file line by line,... (6 Replies)
Discussion started by: Scottie1954
6 Replies

7. Homework & Coursework Questions

Removing punctuations from file input or standard input

Just started learning Unix and received my first assignment recently. We haven't learned many commands and honestly, I'm stumped. I'd like to receive assistance/guidance/hints. 1. The problem statement, all variables and given/known data: How do I write a shell script that takes in a file or... (4 Replies)
Discussion started by: fozilla
4 Replies

8. Shell Programming and Scripting

Bash to search file based off user input then create new file

In the below bash a file is downloaded when the program is opened and then that file is searched based on user input and the result is written to a new file. For example, the bash is opened and the download.txt is downloaded, the user then enters the id (NA04520). The id is used to search... (5 Replies)
Discussion started by: cmccabe
5 Replies

9. Shell Programming and Scripting

Avoid overwriting backup file when multiple entries need to replace in one file input from another

Hello, I have been working on script in which search and replace the multiple pattern. 1. update_params.sh read the multiple pattern from input file ParamMapping.txt(old_entry|New_entry) and passing this values one by one to change_text.sh 2. change_text.sh read... (0 Replies)
Discussion started by: ketanraut
0 Replies

10. Shell Programming and Scripting

Use while loop to read file and use ${file} for both filename input into awk and as string to print

I have files named with different prefixes. From each I want to extract the first line containing a specific string, and then print that line along with the prefix. I've tried to do this with a while loop, but instead of printing the prefix I print the first line of the file twice. Files:... (3 Replies)
Discussion started by: pathunkathunk
3 Replies
LESSOPEN(1)						      General Commands Manual						       LESSOPEN(1)

NAME
lessfile, lesspipe - "input preprocessor" for less. SYNOPSIS
lessfile, lesspipe DESCRIPTION
This manual page documents briefly the lessfile, and lesspipe commands. This manual page was written for the Debian GNU/Linux distribution because the input preprocessor scripts are provided by Debian GNU/Linux and are not part of the original program. lessfile and lesspipe are programs that can be used to modify the way the contents of a file are displayed in less. What this means is that less can automatically open up tar files, uncompress gzipped files, and even display something reasonable for graphics files. lesspipe will toss the contents/info on STDOUT and less will read them as they come across. This means that you do not have to wait for the decoding to finish before less shows you the file. This also means that you will get a 'byte N' instead of an N% as your file posi- tion. You can seek to the end and back to get the N% but that means you have to wait for the pipe to finish. lessfile will toss the contents/info on a file which less will then read. After you are done, lessfile will then delete the file. This means that the process has to finish before you see it, but you get nice percentages (N%) up front. USAGE
Just put one of the following two commands in your login script (e.g. ~/.bash_profile): eval "$(lessfile)" or eval "$(lesspipe)" FILE TYPE RECOGNITION
File types are recognized by their extensions. This is a list of currently supported extensions (grouped by the programs that handle them): *.a *.arj *.tar.bz2 *.bz *.bz2 *.deb, *.udeb *.doc *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif *.iso, *.raw, *.bin *.lha, *.lzh *.tar.lz, *.tlz *.lz *.7z *.pdf *.rar, *.r[0-9][0-9] *.rpm *.tar.gz, *.tgz, *.tar.z, *.tar.dz *.gz, *.z, *.dz *.tar *.jar, *.war, *.xpi, *.zip *.zoo USER DEFINED FILTERS
It is possible to extend and overwrite the default lesspipe and lessfile input processor if you have specialized requirements. Create an executable program with the name .lessfilter and put it into your home directory. This can be a shell script or a binary program. It is important that this program returns the correct exit code: return 0 if your filter handles the input, return 1 if the standard lesspipe/lessfile filter should handle the input. Here is an example script: #!/bin/sh case "$1" in *.extension) extension-handler "$1" ;; *) # We don't handle this format. exit 1 esac # No further processing by lesspipe necessary exit 0 FILES
~/.lessfilter Executable file that can do user defined processing. See section USER DEFINED FILTERS for more information. BUGS
When trying to open compressed 0 byte files, less displays the actual binary file contents. This is not a bug. less is designed to do that (see manual page less(1), section INPUT PREPROCESSOR). This is the answer of Mark Nudelman <markn@greenwoodsoftware.com>: "I recognized when I designed it that a lesspipe filter cannot output an empty file and have less display nothing in that case; it's a side effect of using the "no output" case to mean "the filter has nothing to do". It could have been designed to have some other mechanism to indicate "nothing to do", but "no output" seemed the simplest and most intuitive for lesspipe writers." Sometimes, less does not display the contents file you want to view but output that is produced by your login scripts (~/.bashrc or ~/.bash_profile). This happens because less uses your current shell to run the lesspipe filter. Bash first looks for the variable $BASH_ENV in the environment expands its value and uses the expanded value as the name of a file to read and execute. If this file produces any out- put less will display this. A way to solve this problem is to put the following lines on the top of your login script that produces output: if [ -z "$PS1" ]; then exit fi This tests whether the prompt variable $PS1 is set and if it isn't (which is the case for non-interactive shells) it will exit the script. SEE ALSO
less(1) AUTHOR
This manual page was written by Thomas Schoepf <schoepf@debian.org>, for the Debian GNU/Linux system (but may be used by others). Most of the text was copied from a description written by Darren Stalder <torin@daft.com>. LESSOPEN(1)
All times are GMT -4. The time now is 05:07 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy