批量文本编辑

时间:2019-05-30 10:02:07

标签: notepad++

如何在每行的末尾添加某些字符?行之间新旧列值之间的间距相同!

我尝试shift+Alt选择多行并使用搜索->正则表达式-> $命令无论每个单词的大小如何,我都可以将光标移到每一行的末尾。

但是如何合并新的列值到现有列值附近,并在各行之间进行唯一对齐。

在记事本++中可以吗

Column 1 :

action             
usersessionid*
token
accountid
clientip


Column 2 :

Dinesh 
Kishore
Yuva
Vignesh
Ganesh
  

预期-----------------

Merged Column :
action Dinesh           
usersessionid* Kishore
token Yuva
accountid Vignesh
clientip Ganesh

3 个答案:

答案 0 :(得分:0)

通过 Shift + Alt +鼠标拖动选择“第2列”的值时:

  • 只需复制值 Ctrl + C
  • 通过 Shift + Alt +鼠标拖动
  • ,在“列1”中的值之后选择一列
  • 粘贴 Ctrl + V
  • 使用以下方法删除多余的空间:
    • Ctrl + H
    • 查找内容:\h{2,}
    • 替换为:##个空格
    • 全部替换

答案 1 :(得分:0)

您可以使用宏执行以下任务。

  1. 从当前行开始。转到行首(HOME)。

  2. 向下10行(向下箭头10次)

  3. 标记所有行(SHIFT-END)

  4. 复制所有行(CTRL-C)

  5. 返回原点线(向上箭头10次)

  6. 转到行尾。 (END)

  7. 添加空格并粘贴标记的数据。 (空格CTRL-V)

  8. 转到下一行的开头。 (向下箭头,HOME)

保存宏。

再次运行宏,直到满意为止。

答案 2 :(得分:0)

如果您要跳过手动shift+Alt的选择,则可能要尝试使用正则表达式和宏。请记住,可以保存宏以便以后重用。

记录以下宏:

  1. 按“记录宏”
  2. 控件 + H
  3. 搜索:^(?!Column \d)(\S+)(?=\h*$)([\s\S]*^Column \d[\s\S]*?)^([^\r\n]+)

    替换为:\1 \3\2

  4. 全部替换
  5. 查找下一个
  6. 全部替换
  7. 停止录制宏

现在,您可以使用以下按钮播放宏:Run macro multiple times按钮,然后选择:Run until the end of file

注释:

我假设第一列数据之间没有空格(例如Customer Id中的空格)。

我还假定存在Column 1 :Column 2 :文字