Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Perl find & replace - what am I doing wrong? Post 302814389 by sudon't on Wednesday 29th of May 2013 11:25:03 AM
Old 05-29-2013
Perl find & replace - what am I doing wrong?

Hi!
I have a directory full of .plist type files from which I need to delete a line. Not every file contains the line, but of course I'd like to do it recursively. The line which I want to delete is:

Code:
		<string>com.apple.PhotoBooth</string>

and looks like this in its native habitat:

Code:
	<string>748 352 640 526 0 0 1440 878 </string>
	<key>excludedHosts</key>
	<array>
		<string>com.apple.PhotoBooth</string>
		<string>com.apple.iChat</string>
	</array>
	<key>frameworkVersion</key>

Here is what I tried, as well as the error which followed:

Code:
$ perl -pi -e ~/Library/Compositions/Compound\ Eye.qtz 's/<string>com.apple.PhotoBooth</string>\n//g' 
Bareword found where operator expected at -e line 1, near "/Users/rick"
	(Missing operator before rick?)
syntax error at -e line 1, near "/Users/rick"
Execution of -e aborted due to compilation errors.

The interesting thing (to me) is that it seems to be complaining about syntax in the actual directory - /Users/Rick - but I used the abbreviated form - ~/
I didn't really understand what it was complaining about, so I combined all the flags and got a different error.

Code:
$ perl -pie ~/Library/Compositions/Compound\ Eye.qtz 's/<string>com.apple.PhotoBooth</string>\n//g' 
Unrecognized character \xDA; marked by <-- HERE after bplist00<-- HERE near column 9 at ~Library/Compositions/Compound Eye.qtz line 1.

I searched for the string "bplist00" in the file, but cannot find it. I also don't understand why it's talking about columns. I can't make heads or tails of this error. Can anyone tell me what I'm doing wrong? I'll attach one of the files, if that helps.

I'm using Mac OS 10.6.8
bash
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find & Replace

I get a text file with 70+ columns (seperated by Tab) and about 10000 rows. The 58th Column is all numbers. But sometimes 58th columns has "/xxx=##" after the numeric data. I want to truncate this string using the script. Any Ideas...:confused: (3 Replies)
Discussion started by: gagansharma
3 Replies

2. UNIX for Dummies Questions & Answers

improving my script (find & replace)

Hi all, I have a script that scan files, find old templet and replace it with new one. #!/bin/ksh file_name=$1 old_templet=$2 new_templet=$3 # Loop through every file like this for file in file_name do cat $file | sed "s/old_templet/new_templet/g" > $file.new #do a global searce and... (8 Replies)
Discussion started by: amir_yosha
8 Replies

3. Shell Programming and Scripting

find & incremental replace?

Looking for a way using sed/awk/perl to replace port numbers in a file with an incrementing number. The original file looks like... Host cmg-iqdrw3p4 LocalForward *:9043 localhost:9043 Host cmg-iqdro3p3a LocalForward *:10000 localhost:10000 Host cmg-iqdro3p3b LocalForward... (2 Replies)
Discussion started by: treadwm
2 Replies

4. UNIX for Dummies Questions & Answers

Find, Replace & Edit a string?

Is this something SED would be used for or can AWK do it? I have a string that I would like to chop bits out of and re-arrange some of the rest. Basically I want to change this: <log4j:event logger="webserver" timestamp="1240110840109" time="Sun Apr 19 04:14:00 BST 2009" level="INFO"... (4 Replies)
Discussion started by: Sepia
4 Replies

5. Shell Programming and Scripting

find & replace with user input

Trying to create a script/executable to replace "abc" text string in "myfile.htm" with input from a pop-up field. For example, launch this thing and a prompt is popped up asking the user to input what "abc" should be replaced with, then it inserts what the user inputs in place of abc in the... (3 Replies)
Discussion started by: mike909
3 Replies

6. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

7. Shell Programming and Scripting

Find & replace --> create a new file

Hi All, I have a unix shell script file as below. My task is a)to replace 248 to 350 and need to create a new file as BW3_350.sh b)to replace 248 to 380 and need to create a new file as BW3_380.sh c)to replace 248 to 320 and need to create a new file as BW3_320.sh there is no... (6 Replies)
Discussion started by: karthi_mrkg
6 Replies

8. UNIX for Dummies Questions & Answers

GREP Find & Replace <p class>

I am making an eBook. I am editing the html in BBedit. I need to replace all <p class="s5"> with just a <p>. How do I write this for GREP? Thank you, Abby (5 Replies)
Discussion started by: cuddlykitty
5 Replies

9. UNIX for Dummies Questions & Answers

Find & Replace

Hi I am looking to rename the contents of this dir, each one with a new timestamp, interval of a second for each so it the existing format is on lhs and what I want is to rename each of these to what is on rhs..hopefully it nake sense CDR.20060505.150006.gb CDR.20121211.191500.gb... (3 Replies)
Discussion started by: rob171171
3 Replies

10. UNIX for Dummies Questions & Answers

Find & Replace with same case letters

I have text with upper and lower case words. I want to find something and replace it with something new. But it should match the case - Meaning - it should replace old upper cased word with NEW upper case word and lower with lower. example: this text is very simple TEXT. now I want to replace... (5 Replies)
Discussion started by: grep_me
5 Replies
VIDIR(1)																  VIDIR(1)

NAME
vidir - edit directory SYNOPSIS
vidir [--verbose] [directory|file|-] ... DESCRIPTION
vidir allows editing of the contents of a directory in a text editor. If no directory is specified, the current directory is edited. When editing a directory, each item in the directory will appear on its own numbered line. These numbers are how vidir keeps track of what items are changed. Delete lines to remove files from the directory, or edit filenames to rename files. You can also switch pairs of numbers to swap filenames. Note that if "-" is specified as the directory to edit, it reads a list of filenames from stdin and displays those for editing. Alternatively, a list of files can be specified on the command line. OPTIONS
-v, --verbose Verbosely display the actions taken by the program. EXAMPLES
vidir vidir *.jpeg Typical uses. find | vidir - Edit subdirectory contents too. To delete subdirectories, delete all their contents and the subdirectory itself in the editor. find -type f | vidir - Edit all files under the current directory and subdirectories. ENVIRONMENT VARIABLES
EDITOR Editor to use. VISUAL Also supported to determine what editor to use. AUTHOR
Copyright 2006 by Joey Hess <joey@kitenet.net> Licensed under the GNU GPL. moreutils 2010-04-28 VIDIR(1)
All times are GMT -4. The time now is 05:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy