[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 591
  • Last Modified:

remove quotes from beginning and end of file using sed or awk

Greetings,
I have a freetext.txt file that has like 4000 characters.
There are double quotes (") throughout the document.

To include one in the front, and one in the end.

I want to remove the one in the front and the one in the end.
I heard sed and awk are good for things like this...

I'm still learning those two...
does anyone have experience in this?
Thanks.
0
Evan Cutler
Asked:
Evan Cutler
  • 5
  • 4
  • 3
  • +2
1 Solution
 
Ess KayEntrapenuerCommented:
try regular expression?
0
 
Evan CutlerAuthor Commented:
in a bash?
0
 
Ess KayEntrapenuerCommented:
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 
farzanjCommented:
You can easily do it with sed but you have to give a sample of what you really mean
0
 
Ess KayEntrapenuerCommented:
0
 
Evan CutlerAuthor Commented:
my text files are different each time, but below is something that I would have in it.

"This is the "good times"; and this is the "bad times"."

I want the quotes at the beginning and the end to be removed, but quotes at "good times" and "bad times" to remain.
0
 
farzanjCommented:
You can do it like

sed -i 's/^"//' filename

will remove " at the beginning of line
0
 
Evan CutlerAuthor Commented:
that's awesome farzanj,
can you do that for both ends at the same time?

Or a repeatable thing that will overwrite the original filename?
Thanks
0
 
brianashCommented:
sed -i 's/^"\(.*\)"$/\1/' filename

The ^" matches the first quote
The \(.*\) matches the body of the text you want to keep
The "$ matches the quote at the end of the line

Using -i with sed makes it replace the content in the original file.

This is for files that are all on one line.  
"this is the "good times"; and this is the "bad times"."

It won't work if your file is like this:
"this is the "good times"; and thi
s is the "bad times"."

Do you need one that works with multi-lines?
0
 
Evan CutlerAuthor Commented:
yes...I expect my files to come in with CRLFs in there as well...
Thank you so much.
0
 
farzanjCommented:
For both ends:

sed -i 's/^"//";s/"$//' filename

Open in new window

0
 
Evan CutlerAuthor Commented:
Thank you my friend.
you are awesome.

Most appreciated.

Evan
0
 
brianashCommented:
It doesn't work, though.
I don't think sed is going to work for you, I think you need awk.
i couldn't get farzanj's solution to run, but even so, it would remove the quote at the beginning and end of each line in a file, rather that the first quote at the beginning of the file and the one at the end of the file.
If you have input:
"This is "a test"
and "more lines"."

you would end up with:
This is "a test
and "more lines".

missing the quote after the word, test

The result I think you are looking for is
This is "a test"
and "more lines".

Which his solution (or mine) does not give.
I think you need awk.  I will work on something for you.
0
 
farzanjCommented:
You are welcome Evan.

In case you want to remove any " you could use.

sed -i 's/"//g' filename

Open in new window


Hope it helps.  Cheers!
0
 
simon3270Commented:
One tiny tweak - this will remove double quotes at the start and end of other lines, e.g. the " at the end of the first line in:
"This is the "good"
this is the "bad"."

Open in new window

if you really only want the " at the start of the first line, and the " at the end of the last, to be removed, use:
sed -i '1s/^"//;$s/"$//' file

Open in new window

0
 
brianashCommented:
Nice work, simon3270
0

Featured Post

 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

  • 5
  • 4
  • 3
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now