Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
834 views
in Technique[技术] by (71.8m points)

linux - Unix command to escape spaces

I am new to shell script. Can someone help me with command to escape the space with " ". I have a variable FILE_PATH=/path/to my/text file ,
I want to escape the spaces alone FILE_PATH=/path/to my/text file

I tried with tr -s command but it doesnt help

FILE_PATH=echo FILE_PATH | tr -s " " "\ "

Can somebody suggest the right command !!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you are using bash, you can use its builtin printf's %q formatter (type help printf in bash):

FILENAME=$(printf %q "$FILENAME")

This will not only quote space, but also all special characters for shell.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...