删除每行的首字母

删除每行的首字母

我有一个文件,需要删除每行的第一个字母。我尝试了以下方法:

for i in
do
if [ $5 -eq cat harfler | grep `head -n i harfler | head -c 1` ]
then
echo "succeded"
tr -d `head -n i`
fi
done

但什么都没发生。甚至没有回显“成功”。知道为什么吗?

答案1

使用 sed 如下:

sed 's/^.//' file

对于以空格开头的行:

sed 's/\S//' file

匹配任何非空白字符,但不匹配换行符。您可以使用\w[A-Za-z0-9_]代替。

@gleenjackman 建议的命令:

sed 's/[^[:blank:]]//' file

或者

sed 's/[^[:space:]]//' file

或者

sed 's/[[:alpha:]]//' file

或包含数字:

sed 's/[[:alnum:]]//' file

或使用:

while read line; do echo "${line:1}" ;done < file

答案2

您可以使用以下方法实现此目的

sed-

sed 's/^.\{1\}//g' <filename>

切 -

cut -c 2- <filename>

相关内容