如何正确排列这个文件?

如何正确排列这个文件?

我希望就地编辑 TestFile 以获得所需的输出。我该怎么做?这是一个工作箱,所以我宁愿不安装其他软件包。

测试文件:

randomcollege-nt\jsmith90
randomcollege-nt\aakhbar91
randomcollege-nt\pmanning92
randomcollege-nt\dvader93
jshephard94
bwayne95

期望输出:

jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95

答案1

您可以使用sed

sed -i~ 's/.*\\//' TestFile
  • -i~告诉sed使用扩展创建备份~
  • s///是替代。
  • .*\\表示任何内容 ( .*) 后跟反斜杠
  • 替换部分为空//,即,反斜杠之前的所有内容都将被替换为空。

答案2

只需使用命令即可获得输出cut

cut -d '\' -f 2 < TestFile

Where-d用于确定此处的分隔符/以及-f选择此处的字段2

例子:

$ cat TestFile
randomcollege-nt\jsmith90
randomcollege-nt\aakhbar91
randomcollege-nt\pmanning92
randomcollege-nt\dvader93
jshephard94
bwayne95

$ cut -d '\' -f 2 < TestFile
jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95

如果你想保存输出到另一个文件然后使用:

cut -d '\' -f 2 < TestFile > Output

如果你想覆写 TestFile然后使用以下命令:

cut -d '\' -f 2 < TestFile|tee TestFile

答案3

虽然已经给出了两个正确答案,但我给出的是我个人的解决方案——

sed 's/randomcollege-nt\\//g' testfile

谢谢你,

答案4

这是另一种解决方案awk

 awk -F "\" '{print $(NF)}' testfile > outFile

其中-F定义输入字段分隔符,然后print $(NF)打印出最后一个字段。

outFile将包含:

jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95

相关内容