Sponsored Content
Top Forums UNIX for Dummies Questions & Answers sed to isolate file paths separated by a pattern Post 302310448 by nixjennings on Friday 24th of April 2009 09:17:44 PM
Old 04-24-2009
sed to isolate file paths separated by a pattern

Hi,

I've been searching for a quick way to do this with sed, but to no avail.

I have a file containing a long series of (windows) file paths that are separated by the pattern '@'. I would like to extract each file path so that I can later assign a variable to each path.

Here is the file:

C:\Documents and Settings\My Documents\MATLAB@C:\Documents and Settings\My Documents\MATLAB\a.zip@C:\Documents and Settings\My Documents\MATLAB\f.bhdr@C:\Documents and Settings\My Documents\MATLAB\f_000.bshort@C:\Documents and Settings\My Documents\MATLAB\f_000.hdr@C:\Documents and Settings\My Documents\MATLAB\f_004.bshort@C:\Documents and Settings\My Documents\MATLAB\f_004.hdr@
C:\Documents and Settings\My Documents\MATLAB@C:\Documents and Settings\My Documents\MATLAB\test.nii.gz@C:\Documents and Settings\My Documents\MATLAB\test.zip@C:\Documents and Settings\My Documents\MATLAB\test2.txt@C:\Documents and Settings\My Documents\MATLAB\tmp.tiff@

And I would like the output to be:

C:\Documents and Settings\My Documents\MATLAB
C:\Documents and Settings\My Documents\MATLAB\a.zip
C:\Documents and Settings\My Documents\MATLAB\f.bhdr
C:\Documents and Settings\My Documents\MATLAB\f_000.bshort
C:\Documents and Settings\My Documents\MATLAB\f_000.hdr
C:\Documents and Settings\My Documents\MATLAB\f_004.bshort
C:\Documents and Settings\My Documents\MATLAB\f_004.hdr
C:\Documents and Settings\My Documents\MATLAB
C:\Documents and Settings\My Documents\MATLAB\test.nii.gz
C:\Documents and Settings\My Documents\MATLAB\test.zip
C:\Documents and Settings\My Documents\MATLAB\test2.txt
C:\Documents and Settings\My Documents\MATLAB\tmp.tiff

I can sort-of get there with something like:

sed 's,^\(.*@\)\?\([^@]*\),\1,'

in a loop or something like that, but I was hoping for a simpler (a one-liner maybe?) or a more elegant solution. If anyone can help, I would greatly appreciate it. Thanks in advance!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Isolate and Extract a Pattern Substring (Digits Only)

Hi guys, I have a text file report generated from egrepping multiple files. The text files themselves are obtianed after many succesive refinements, so they contain already the desired number, but this is surrounded by unwanted characters, newlines, spaces, it is not always at the start of the... (6 Replies)
Discussion started by: netfreighter
6 Replies

2. UNIX for Dummies Questions & Answers

validate a pattern of numbers that are comma separated

Hi, I have a requirement wherein, I need to validate a user input of the numbers that are comma separated. E.g . The input should be in the format 1,2,3...n (count of numbers is not known) . The user has to mention the input in this format, else it should exit from the program. ... (5 Replies)
Discussion started by: 12345
5 Replies

3. Shell Programming and Scripting

SED: Removing Filenames From Paths

I'm using a script with a lot of SED commands, in conjunction with grep, cut, etc. I've come up against a wall with a particular road block: I output a file from an SVN registry that gives me a list of files. The list consists of a variable number of lines that contain a path/file. The paths... (4 Replies)
Discussion started by: Brusimm
4 Replies

4. Shell Programming and Scripting

awk: isolate a part of a file name

hi there, i have a file named 'x20080613_x20100106.pwr1.gc', i want to isolate the part 'x20080613_x20100106' but by using the following line i isolate the part '.pwr1.gc': `awk '$0=substr($0, length($0)-7)' $temp` how can i reverse that? thank you! (3 Replies)
Discussion started by: friend
3 Replies

5. Shell Programming and Scripting

Store and isolate bad pages from a file to new file

I have a file like below . The good pages must have 3 conditions : The pages that containing page total only must have 50 lines. The pages that containing customer total only must have 53 lines. The last page of Customer Total should be the last page. How can I accomplish separating good... (1 Reply)
Discussion started by: ehabaziz2001
1 Replies

6. UNIX for Dummies Questions & Answers

I need to isolate a date in a large log file

I wrote head -n1 example.log I grab the first line of the log, but I need to isolate just the date, which is 08/May/2012:09:52:52. I also need to find the reverse of this, which would be tail... http://i.imgur.com/Lp1eBD0.png Thanks in advance (4 Replies)
Discussion started by: spookydll
4 Replies

7. Shell Programming and Scripting

How to use sed to search a particular pattern in a file backward after a pattern is matched.?

Hi, I have two files file1.txt and file2.txt. Please see the attachments. In file2.txt (which actually is a diff output between two versions of file1.txt.), I extract the pattern corresponding to 1172c1172. Now ,In file1.txt I have to search for this pattern 1172c1172 and if found, I have to... (9 Replies)
Discussion started by: saurabh kumar
9 Replies

8. Shell Programming and Scripting

Isolate text with sed or similar utility

All, I'm getting a list like the following and I'd like to kill each PID in turn. pid (17797) pid (21748) pid (21754) pid (21704) pid (2199) pid (2159) pid (17809) pid (21769) pid (21778) pid (21715) ... (3 Replies)
Discussion started by: ejianu
3 Replies

9. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies

10. Shell Programming and Scripting

Strip the first record off a file and isolate fields off of it

I have a 2 part question on how to this in unix scripting using kshell or c shell. I have a file described below: 1st record has 2 fields on it every other record has 22 fields on it. Example ABC, email address Detail 1 Detail 2 Detail 3 . . . 1st question is... (4 Replies)
Discussion started by: jclanc8
4 Replies
File::HomeDir::Windows(3)				User Contributed Perl Documentation				 File::HomeDir::Windows(3)

NAME
File::HomeDir::Windows - Find your home and other directories on Windows SYNOPSIS
use File::HomeDir; # Find directories for the current user (eg. using Windows XP Professional) $home = File::HomeDir->my_home; # C:Documents and Settingsmylogin $desktop = File::HomeDir->my_desktop; # C:Documents and SettingsmyloginDesktop $docs = File::HomeDir->my_documents; # C:Documents and SettingsmyloginMy Documents $music = File::HomeDir->my_music; # C:Documents and SettingsmyloginMy DocumentsMy Music $pics = File::HomeDir->my_pictures; # C:Documents and SettingsmyloginMy DocumentsMy Pictures $videos = File::HomeDir->my_videos; # C:Documents and SettingsmyloginMy DocumentsMy Video $data = File::HomeDir->my_data; # C:Documents and SettingsmyloginLocal SettingsApplication Data DESCRIPTION
This module provides Windows-specific implementations for determining common user directories. In normal usage this module will always be used via File::HomeDir. Internally this module will use Win32::GetFolderPath to fetch the location of your directories. As a result of this, in certain unusual situations (usually found inside large organisations) the methods may return UNC paths such as "\cifs.localhome$". If your application runs on Windows and you want to have it work comprehensively everywhere, you may need to implement your own handling for these paths as they can cause strange behaviour. For example, stat calls to UNC paths may work but block for several seconds, but opendir() may not be able to read any files (creating the appearance of an existing but empty directory). To avoid complicating the problem any further, in the rare situation that a UNC path is returned by "GetFolderPath" the usual -d validation checks will not be done. SUPPORT
See the support section the main File::HomeDir module. AUTHORS
Adam Kennedy <adamk@cpan.org> Sean M. Burke <sburke@cpan.org> SEE ALSO
File::HomeDir, File::HomeDir::Win32 (legacy) COPYRIGHT
Copyright 2005 - 2011 Adam Kennedy. Some parts copyright 2000 Sean M. Burke. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.16.3 2012-10-19 File::HomeDir::Windows(3)
All times are GMT -4. The time now is 07:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy