我想从文本文件中删除前N个字符,并且重要的是不是逐行删除。目前,我编写的代码会从每一行中删除'i'个字符。但我想从整个文本中删除。
例如,我有一个xml文件在目录xml/root.xml中。
我想要的是删除前N个字符并将其保存到新文件中。比如说N为5,那么就是:
for FILE in *;
do x=$(wc -c < "$FILE"); for ((i=1; i <= $x; ++i));
do sed "s/^.\{$i\}//" $FILE > $i;
done;
done;
例如,我有一个xml文件在目录xml/root.xml中。
<ticket id="usa-001" REFUND="NO" TEST="TEST">
<airline>Us Airlines</airline>
<emptytag id="usa-001" REFUND="NO" TEST="TEST"/>
<preis>30</preis><seat>
<allseats>120</allseats>
</ticket>
我想要的是删除前N个字符并将其保存到新文件中。比如说N为5,那么就是:
et id="usa-001" REFUND="NO" TEST="TEST">
<airline>Us Airlines</airline>
<emptytag id="usa-001" REFUND="NO" TEST="TEST"/>
<preis>30</preis><seat>
<allseats>120</allseats>
</ticket>
\n
)(和潜在的回车符 -\r
)视为100个字符的一部分? - markp-fuso$n
个字符,请使用dd bs=1 skip="$n"
。 - William Pursell