shell 文本追加空格

shell 文本追加空格,第1张

空字符串1是紧接着在30之后的吗?

空字符串2是紧接着在5之后的吗?

还是中间有TAB分隔?

我下面是紧接着追加C字段空格

假设文本为file.txt (开头没有 A B C),那么:

#!/bin/bash

rm -f result.txt

cat file.txt | while read line

do

n=`echo "$line"|awk '{print $2}'`

(

echo -n "$line"

i=0

while [ $i -le $n ]

do

echo -n " "

let i+=1

done

echo

) >>result.txt

done

运行结果在result.txt里。

在shell中,以空格作为命令参数的分隔符,所以touch

ab

cd,shell会把ab

cd解释成touch的两个参数,即要创建的两个文件的名称,所以就创建了两个文件。而

touch

"ab

cd"

,很明显,"ab

cd"是一字符串,是一整体,这样就创建了一个文件ab

cd.

还有一方法,就是把空格转义

touch

ab\

cd

(反斜线后有一空格,此时反斜线把空格转义了),当然,还是第一种方法好用

:)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11912831.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存