Sponsored Content
Top Forums Shell Programming and Scripting sed Command on Multiple Files and retaining the same file name Post 302969281 by Don Cragun on Monday 21st of March 2016 05:08:10 AM
Old 03-21-2016
Untested, but should come close to what you want (although this seems extremely likely to destroy some data you might not want to destroy):
Code:
cd "$HOME"
for i in *
do	[ -f "$i" ] && sed '1s/..//' "$i" > "$i".mod && cp "$i".mod "$i" && rm -f "$i".mod
done

This is different from RudiC's suggestion and your original code as follows:
  1. the above assumes that you want to modify all of the regular files in your home directory,
  2. not all of the directories in the directory /home which seems to be what your script in post #1 in this thread would try to do, and
  3. not all files in the current directory as in RudiC's suggestion, AND,
  4. the combination of cp and rm commands (instead of just using an mv command) will preserve hard links on files (if there are any). Note, however, that if there are hard-linked files with more than one link in your home directory, two characters will be removed from the file for each link processed.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to use multiple files in sed with w command

i have a command like : sed -n 's/^* /&/w even' <file if i want to write to multiple files like sed -n 's/^* /&/w zero two three' < file its not working it is taking "zero two three" as a single file i want to write to 3 seperate files . pls can anyone help me (2 Replies)
Discussion started by: santosh1234
2 Replies

2. Shell Programming and Scripting

I need to find one command from multiple files and need to print that file which contains neede com

Hi all i need your help .. I am having a multiple file in directory and i have find out the Rcopy word from these files and need to print those files which contains the Rcopy word Thanks and regards Vijay sahu (2 Replies)
Discussion started by: vijays3
2 Replies

3. Shell Programming and Scripting

handling multiple files using awk command and wants to get separate out file for each

hai all I am new to the world of shell scripting I wanted to extract two columns from multiple files say around 25 files and i wanted to get the separate outfile for each input file tired using the following command to extract two columns from 25 files awk... (2 Replies)
Discussion started by: hema dhevi
2 Replies

4. UNIX for Dummies Questions & Answers

best method of replacing multiple strings in multiple files - sed or awk? most simple preferred :)

Hi guys, say I have a few files in a directory (58 text files or somthing) each one contains mulitple strings that I wish to replace with other strings so in these 58 files I'm looking for say the following strings: JAM (replace with BUTTER) BREAD (replace with CRACKER) SCOOP (replace... (19 Replies)
Discussion started by: rich@ardz
19 Replies

5. Shell Programming and Scripting

SED command using multiple input files

What is the syntax to use multiple input files in a SED command. i.e. substitute a word with a phrase in every file in a directory. for every file in /usr/include that has the word "date" in the file grep -l '\<date\>' /usr/include/*.h find each occurrence of the word "time" in the file &... (3 Replies)
Discussion started by: sheoguey
3 Replies

6. UNIX for Dummies Questions & Answers

Using sed command to remove multiple instances of repeating headers in one file?

Hi, I have catenated multiple output files (from a monte carlo run) into one big output file. Each individual file has it's own two line header. So when I catenate, there are multiple two line headers (of the same wording) within the big file. How do I use the sed command to search for the... (1 Reply)
Discussion started by: rebazon
1 Replies

7. Shell Programming and Scripting

Splitting a file in to multiple files and passing each individual file to a command

I have an input file with contents like: MainFile.dat: 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 12247689|7896|77698080 16768900|hh78|78959390 ... (4 Replies)
Discussion started by: rkrish
4 Replies

8. Shell Programming and Scripting

Replace multiple patterns together with retaining the text in between

Hi Team I have the following text in one of the file j1738-abc-system_id(in.value1)-2838 G566-deF-system_id(in.value2)-7489 I want to remove system_id(...) combination completely The output should look like this j1738-abc-in.value1-2838 G566-deF-in.value2-7489 Any help is appreciated... (4 Replies)
Discussion started by: Thierry Henry
4 Replies

9. Shell Programming and Scripting

Curl command to download multiple files with a file prefix

I am using the below curl command to download a single file from client server and it is working as expected curl --ftp-ssl -k -u ${USER}:${PASSWD} ftp://${HOST}:${PORT}/path/to/${FILE} --output ${DEST}/${FILE} let say the client has 3 files hellofile.101, hellofile.102, hellofile.103 and I... (3 Replies)
Discussion started by: r@v!7*7@
3 Replies

10. Shell Programming and Scripting

sed parser behaving strange on replacing multiple words in multiple files

I have 4000 files like $cat clus_grp_seq10_g.phy 18 1002 anig_OJJ65951_1 ATGGTTTCGCAGCGTGATAGAGAATTGTTTAGGGATGATATTCGCTCGCGAGGAACGAAGCTCAATGCTGCCGAGCGCGAGAGTCTGCTAAGGCCATATCTGCCAGATCCGTCTGACCTTCCACGCAGGCCACTTCAGCGGCGCAAGAAGGTTCCTCG aver_OOF92921_1 ... (1 Reply)
Discussion started by: sammy777888
1 Replies
XKIBITZ(1)						      General Commands Manual							XKIBITZ(1)

NAME
xkibitz - allow multiple people to interact in an xterm SYNOPSIS
xkibitz [ xkibitz-args ] [ program program-args... ] INTRODUCTION
xkibitz allows users in separate xterms to share one shell (or any program that runs in an xterm). Uses include: o A novice user can ask an expert user for help. Using xkibitz, the expert can see what the user is doing, and offer advice or show how to do it right. o By running xkibitz and then starting a full-screen editor, people may carry out a conversation, retaining the ability to scroll backwards, save the entire conversation, or even edit it while in progress. o People can team up on games, document editing, or other cooperative tasks where each person has strengths and weaknesses that complement one another. o If you want to have a large number of people do an on-line code walk-through, you can sit two in front of each workstation, and then connect them all together while you everyone looks at code together in the editor. USAGE
To start xkibitz, one user (the master) runs xkibitz with no arguments. xkibitz starts a new shell (or another program, if given on the command line). The user can interact normally with the shell, or upon entering an escape (described when xkibitz starts) can add users to the interaction. To add users, enter "+ display" where display is the X display name. If there is no ":X.Y" in the display name, ":0.0" is assumed. The master user must have permission to access each display. Each display is assigned a tag - a small integer which can be used to reference the display. To show the current tags and displays, enter "=". To drop a display, enter "- tag" where tag is the display's tag according to the "=" command. To return to the shared shell, enter "return". Then the keystrokes of all users become the input of the shell. Similarly, all users receive the output from the shell. To terminate xkibitz it suffices to terminate the shell itself. For example, if any user types ^D (and the shell accepts this to be EOF), the shell terminates followed by xkibitz. Normally, all characters are passed uninterpreted. However, in the escape dialogue the user talks directly to the xkibitz interpreter. Any Expect(1) or Tcl(3) commands may also be given. Also, job control may be used while in the interpreter, to, for example, suspend or restart xkibitz. Various processes can produce various effects. For example, you can emulate a multi-way write(1) session with the command: xkibitz sleep 1000000 ARGUMENTS
xkibitz understands a few special arguments which should appear before the program name (if given). Each argument should be separated by whitespace. If the arguments themselves takes arguments, these should also be separated by whitespace. -escape sets the escape character. The default escape character is ^]. -display adds a display much like the "+" command. Multiple -display flags can be given. For example, to start up xkibitz with three additional displays: xkibitz -display mercury -display fox -display dragon:1.0 CAVEATS
Due to limitations in both X and UNIX, resize propagation is weak. When the master user resizes the xterm, all the other xterms are logically resized. Unfortunately, xkibitz cannot force the physical xterm size to correspond with the logical xterm sizes. The other users are free to resize their xterm but their sizes are not propagated. The master can check the logical sizes with the "=" command. Deducing the window size is a non-portable operation. The code is known to work for recent versions of SunOS, AIX, Unicos, and HPUX. Send back mods if you add support for anything else. ENVIRONMENT
The environment variable SHELL is used to determine and start a shell, if no other program is given on the command line. If the environment variable DISPLAY is defined, its value is used for the display name of the xkibitz master (the display with tag number 0). Otherwise this name remains empty. Additional arguments may be passed to new xterms through the environment variable XKIBITZ_XTERM_ARGS. For example, to create xterms with a scrollbar and a green pointer cursor: XKIBITZ_XTERM_ARGS="-sb -ms green" export XKIBITZ_XTERM_ARGS (this is for the Bourne shell - use whatever syntax is appropriate for your favorite shell). Any option can be given that is valid for the xterm command, with the exception of -display, -geometry and -S as those are set by xkibitz. SEE ALSO
Tcl(3), libexpect(3) kibitz(1) "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Associates, January 1995. "kibitz - Connecting Multiple Interactive Programs Together", by Don Libes, Software - Practice & Experience, John Wiley & Sons, West Sus- sex, England, Vol. 23, No. 5, May, 1993. AUTHOR
Don Libes, National Institute of Standards and Technology 06 October 1994 XKIBITZ(1)
All times are GMT -4. The time now is 04:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy