我有一个文件,需要删除每行的第一个字母。我尝试了以下方法:
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>