在sublime文本上删除WORD之前的所有行

时间:2017-07-16 10:30:12

标签: php file text sublimetext3 sublimetext

我有一个包含+ 1M行的大文本文件

并且在第45280525行有一个单词#include <stdio.h> #include <stdlib.h> #include <limits.h> struct Stack { int data; struct Stack *next; }; struct Stack *CreateStack () { return NULL; } int isEmptyStack(struct Stack *top) { return (top == NULL); } void Push(struct Stack **top, int data) { struct Stack *newNode = (struct Stack*) malloc(sizeof(struct Stack)); if(!newNode) return; newNode->data = data; newNode->next = *top; *top = newNode; } int Pop(struct Stack **top) { struct Stack *temp; int data; if(isEmptyStack(*top)) { printf("Empty Stack.\n"); return INT_MIN; } temp = *top; data = (*top)->data; *top = (*top)->next; free(temp); return data; } struct Queue { struct Stack *S1; struct Stack *S2; }; struct Queue *CreateQueue() { return NULL; } void EnQueue(struct Queue *Q, int data) { Push(Q->S1, data); } int DeQueue(struct Queue *Q) { if(!isEmptyStack(Q->S2)) { return Pop(Q->S2); } else { while(!isEmptyStack(Q->S1)) { Push(Q->S2, Pop(Q->S1)); } return Pop(Q->S2); } } int main() { struct Queue *Q = CreateQueue(); Q->S1 = Q->S2 = NULL; EnQueue(Q, 1); EnQueue(Q, 2); EnQueue(Q, 3); printf("%d ", DeQueue(Q)); printf("%d ", DeQueue(Q)); printf("%d ", DeQueue(Q)); return 0; } 。我想删除之前的所有行。

如何使用Sublime Text做到这一点?

请注意,Notepad ++不适用于此文件。

感谢

4 个答案:

答案 0 :(得分:2)

您可以使用menu > Goto > Goto Line...

转到该行

或按 Ctrl + G

您可能正在寻找Mark功能:

  • Ctrl + G 按号码转到您要选择的最后一行。
  • Edit > Mark > Set Mark设置您的选择结束标记。
  • Ctrl + G (或 Ctrl + Home )转到您要选择的第一行
  • Edit > Mark > Delete to Mark

否则,您可以将打开文件的代码编写为文本...删除您需要的行,保存并...关闭。

答案 1 :(得分:0)

有点像黑客攻击,只有在文本中至少有一种类型的括号没有使用时它才有效。

  1. 在文件开头(([{)打开一个左括号。
  2. Ctrl + F,搜索您的单词(&#34; johnd&#34;)
  3. 在单词前面创建一个右括号,对应于左括号()]}
  4. Shift + Ctrl + M,选择文本(Shift)时跳到对侧括号(Ctrl + M)。
  5. 删除所选文字和括号。
  6. 这可能是更好的方法,但它是我能想到的解决方案。

答案 2 :(得分:0)

如果您的文件太大而无法在Sublime Text中编辑,则可以在Linux命令行执行以下操作:

sed -ne '/johnd/,$p' myfile.txt > edited.txt
mv edited.txt myfile.txt

打印从匹配johnd的一行到文件末尾的所有行。输出将捕获到新文件,然后重命名以替换原始文件。

答案 3 :(得分:0)

  1. 将光标置于要保留的第一行的开头(例如,使用 Ctrl + F
  2. Ctrl + Shift + Home 选择文件开头之前的所有文本
  3. ⌫删除