Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用SED命令将数字转换为其名称(1=1等)_Linux_Unix_Sed - Fatal编程技术网

Linux 使用SED命令将数字转换为其名称(1=1等)

Linux 使用SED命令将数字转换为其名称(1=1等),linux,unix,sed,Linux,Unix,Sed,我需要将数字转换为它们的名称,例如:1=1=2=2等,但我只能使用SED命令。只有一位数字应该改变 sed 's/[1]/one/g; s/[2]/two/g; s/[3]/three/g; s/[4]/four/g; s/[5]/five/g; s/[6]/six/g; s/[7]/seven/g; s/[8]/eight/g; s/[9]/nine/g; s/[0]/zero/g' 正文: Lo5se的眼睛会发胖。Win4ter现在确实可以写信反对改变方式了。imp6rove也是如此,我的

我需要将数字转换为它们的名称,例如:1=1=2=2等,但我只能使用SED命令。只有一位数字应该改变

sed 's/[1]/one/g; s/[2]/two/g; s/[3]/three/g; s/[4]/four/g; s/[5]/five/g; s/[6]/six/g; s/[7]/seven/g; s/[8]/eight/g; s/[9]/nine/g; s/[0]/zero/g'
正文:

Lo5se的眼睛会发胖。Win4ter现在确实可以写信反对改变方式了。imp6rove也是如此,我的魅力图片暴露了我的需求。已收到生产准备好的产品,并严格按照br55anched的要求发货。已知72ye资金6如此之大。作为一名员工,由Incom888Mode先生诚恳保存。他向孩子提出了一个问题。SH2A9惹恼了他为什么

结果应该是:


Lo五只眼睛发胖。赢4个ter现在确实可以信反道改5个ter了。impsixrove我的魅力图片也同样如此,以适应fiveed要求。收到了四个d产品四个d准备潜水五个RTE严格脱离了BR55人。已知72ye钱6这么大的衰变声音t6在这里。作为一名员工,由Incom888Mode先生诚恳保存。他向三个孩子开了一个玩笑。什托瓦尼埃曾经为他而烦恼过

具有
-E
以启用ERE并将
\n
识别为新行的sed(例如GNU sed):

这可能适用于您(GNU-sed):

在每组数字前加一个换行符

删除两位数以上数字的前置换行符

在行尾追加换行符和查找表

使用循环和模式匹配将每个单个数字替换为其文字,确保保留查找表


打印修改后的当前行减去查找表。

为什么只能使用sed?顺便说一句,单引号是由shell解释的,这意味着您已经在使用另一个工具。该命令似乎正在工作您的问题是什么?只能使用sed命令--为什么?这是家庭作业吗?我只能使用Sed,因为我的家庭作业要求:)
sed -E 's/(^|[^0-9])([0-9])([^0-9]|$)/\1\n\2\n\3/g; s/\n1\n/one/g; s/\n2\n/two/g; s/\n3\n/three/g; s/\n4\n/four/g; s/\n5\n/five/g; s/\n6\n/six/g; s/\n7\n/seven/g; s/\n8\n/eight/g; s/\n9\n/nine/g; s/\n0\n/zero/g' file
Lofivese eyes get fat shew. Winfourter can indeed letter oppose way change tefivended now. So is impsixrove my charmed picture exposed adaptfiveed demands. Received had enfourd prodfouruced prepared divefiverted strictly off man br55anched. Known 72ye money sixso large decay voice tsixhere to. Preserved be mr cordially incommode as an. He threedoors qui03ck child an point at. Had shtwoa9re vexed front least style off why him.
sed -E 's/[0-9]+/\n&/g;s/\n(.[0-9])/\1/g;s/$/\n1one2two3three4four5five6six7seven8eight9nine0zero/;:a;s/\n(.)(.*\n.*\1([^0-9]+))/\3\2/;ta;P;d' file