Bash shell如何删除字符串中的最后一个字符

时间:2019-11-20 08:53:02  来源:igfitidea点击:

在bash或ksh shell中,如何删除每行中最后一个字符?

Bash/ksh Shell替换示例

从行或单词中删除最后一个字符的语法如下:

x="hello world"
echo "${x%?}"

输出示例:

hello worl

%是bash参数替换运算符,它从尾部匹配模式中删除(非贪婪)。

您可以按以下方式使用bash while循环删除掉每一行最后一个字符:

#!/bin/bash
while IFS= read -r line
do
       echo "${line%?}"
       # 将新行写入新文件。
       #echo "${line%?}" >> /tmp/newfile
done < "/path/to/file"

使用cut命令删除字符串最后一个字符示例

cut语法如下:

## 如果字符串长度是3,那么我们传递2即它的位置
echo "foo"| cut -c 1-2

echo "Hello Linux" | cut -c 1-10