Using sed to execute multiple commands


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using sed to execute multiple commands
# 8  
Old 07-11-2013
As said before, removing duplicate non-empty lines is easier in awk:
Code:
awk '!X[$0]++' file

will do the job for you.
# 9  
Old 07-11-2013
Perfect! Thank you all!
# 10  
Old 07-13-2013
The previous awk deletes duplicate lines thruout the file. Therefore it needs to learn (store in memory) the whole file.
Consecutive identical lines can be deleted with storing only two lines
Code:
sed '$!N; /^\(.*\)\n\1$/!P;D'

Code:
awk 'prev!=$0 {print} {prev=$0}'

Code:
uniq


Last edited by MadeInGermany; 07-14-2013 at 12:11 PM.. Reason: uniq -d was just the opposite
# 11  
Old 07-13-2013
Danke schon!
# 12  
Old 07-16-2013
Let's open it up for ease of maintenance. I never used -r for extended regex, as usually my sed is not GNU! The third substitute does not need it, as [] is implicitly and or.
Code:
sed -rn '
  /DIP-10219/{
    s/^.*[^,](cn=.*com).*$/\1/
    s/hbo/&-ns/g
    s/[(]|[)]/\\&/g
    p
   }
 ' in_file >out_file

Removing duplicates can be done by sed only if the file is sorted, but it can be done by 'sort -u' or 'uniq', if you are talking about whole line duplicates or well defined key field duplicates. In some situations, people need to remove later or earlier lines with the same key fields that are not entirely duplicate lines. One behaviour of 'sort -u' that is very useful is that all later lines for the key are deleted; the first survives. Sometimes we sort the file in reverse order if the last for a key is desired. To detect duplicates on the fly, you need a tool that can store past lines or keys and look up each line, like awk, ksh or bash.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Use sed commands on multiple lines

I have a text file and i want to run 3 sed commands for the lines entered by the user using perl script. I am doing this manually till now. need some help with this The sed commands I have to use are : sed -i "s/{+//" error.txt sed -i "s/+}//" error.txt sed -i "s/\//g" error.txt... (5 Replies)
Discussion started by: utkarshkhanna44
5 Replies

2. Shell Programming and Scripting

Ssh multiple hops to execute commands with arguments

Hi I need to write a script to ssh through several hops (e.g. HostA-HostB-HostC-HostD), where Host A does not have direct assess to HostC ; HostB cannot access HostD directly. when I ssh 3 hops and run command with arg1, arg2 and redirect the output to a file, e.g. HostA> ssh -t HostB ssh -t... (3 Replies)
Discussion started by: chiensh
3 Replies

3. Shell Programming and Scripting

How to execute multiple commands in one shot?

for example: I'm greping the process where i can get the location of the file $ ps -ef | grep LLAWP | awk {'print $9'} | tail -1 /Hostname/ihs/INSTANCE2/conf/WebAgent.conf then I need to display second line of WebAgent.conf file: $ cat /Hostname/ihs/INSTANCE1/conf/WebAgent.conf | head... (2 Replies)
Discussion started by: raghur77
2 Replies

4. Shell Programming and Scripting

connect to multiple servers using SSH and execute commands

Requirement: Run a shell script with below inputs file name checksum path the script should go to multiple servers (around 35) and verify the input cksum and if there is a mismatch display a simple message to the user that cksum verification failed. host details, user id /... (1 Reply)
Discussion started by: amicableperson
1 Replies

5. UNIX for Dummies Questions & Answers

cron used to execute multiple commands

have to run multiple commands at a specified time by the user... (3 Replies)
Discussion started by: hemaa
3 Replies

6. UNIX for Advanced & Expert Users

How to execute multiple unix commands in one session from java

Hi, Iam trying to code in java and wanted to run the commands in the Unix remote servers. I have the following code to run multiple GREP commands in a single session. But when i execute this, the first command executes successfully, whereas from the next line it says "Exception Occured... (1 Reply)
Discussion started by: gravi2020
1 Replies

7. Shell Programming and Scripting

Execute multiple commands in a find

I am checking that a file is older than a reference file that I build with a touch command before processing it. If it is not old enough, I want to sleep for an hour and check again. My problem is if it is old enough to process, I want to exit when I am done, but I cannot find a way to exit... (2 Replies)
Discussion started by: prismtx
2 Replies

8. Shell Programming and Scripting

Can Xargs execute multiple commands of evry input file

Hello , I am trying to print the footer of evry file in the given directory with xargs command like follows ls -1 | xargs -I {} gzcat {} | tail -1 now problem with this is only last file foooter is getting printed as " | tail -1 " is getting executed for the last file. I know this can... (4 Replies)
Discussion started by: nilesrex
4 Replies

9. Shell Programming and Scripting

how do i get my script to execute multiple commands?

New to shell scripting. I can't get my script to execute multiple commands. Here's the code. It's a menu script. #!/bin/ksh clear print "SDE MENU" PS3="SDE MENU, enter choice:" select clean_menu in "tasdedev instance 5151" "orkindev instance 5155" "tasdetst instance 5157" "orkinsys... (1 Reply)
Discussion started by: hvincent
1 Replies

10. Shell Programming and Scripting

multiple sed commands

hello! I have a few sed commands sed '/^$/d' < $1 > tmp.t sed '/^ \{3,\}/d' < tmp.t > tmp1.txt ..... how can I write them in a single line? sed '/^$/d' < $1 > | '/^ \{3,\}/d' < $1 > tmp1.txt any idea? thanks. (5 Replies)
Discussion started by: george_
5 Replies
Login or Register to Ask a Question