小编Ali*_*Ali的帖子

在 Bash Unix 中从文本文件中删除前 n 个字符

我试图从文本文件中删除前 N 个字符,重要的是它不是逐行完成的。

目前,我编写的这段代码从每行中删除了“i”个字符。但我想从全文中删除。

for FILE in *; 
    do  x=$(wc -c < "$FILE"); for ((i=1; i <= $x; ++i));
            do sed "s/^.\{$i\}//" $FILE > $i; 
        done;
done;
Run Code Online (Sandbox Code Playgroud)

例如我在目录 xml/root.xml 中有这个 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>
Run Code Online (Sandbox Code Playgroud)

我想要的是删除前 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>
Run Code Online (Sandbox Code Playgroud)

unix awk sed char

3
推荐指数
1
解决办法
815
查看次数

标签 统计

awk ×1

char ×1

sed ×1

unix ×1