我有一个名为 CAMS.txt 的文本文件,其中包含以下内容:
4153999999999991
4153999999999992
4153999999999993
4153999999999994
4801999999999991
4801999999999992
4801999999999993
Run Code Online (Sandbox Code Playgroud)
我想将 CAMS.txt 文件拆分为 2 个文件 - CAMS1.txt 和 CAMS2.txt。它们的内容如下
CAMS1.txt
4153999999999991
4153999999999992
4153999999999993
4153999999999994
Run Code Online (Sandbox Code Playgroud)
CAMS2.txt
4801999999999991
4801999999999992
4801999999999993
Run Code Online (Sandbox Code Playgroud)
它实际上是根据原始 CAMS.txt 文件的前 4 位数字拆分文件。它永远是 4153 和 4801。我是 unix 世界的新手 =)
awk '/^4153/ {print >"CAMS1.TXT"; next} {print >"CAMS2.TXT"}' CAMS.TXT
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以做到这一点,另一种方法是使用两个 grep 命令
grep "^4153" CAMS.TXT > CAMS1.TXT
grep -v "^4153" CAMS.TXT > CAMS2.TXT
Run Code Online (Sandbox Code Playgroud)
这样效率较低但更容易输入,在第一个 grep 完成后,您可以从 shell 历史记录中调用它(使用“向上”箭头键)并进行一些更改。当然,文件会被读取两次,所以如果它很大,就不要这样做。