我使用以下命令保存git clone命令的进度状态,
git clone --progress "https://giturl/repo.git" &> "/var/log/bitbucket.log
使用cat命令查看文件内容时,例如
cat bitbucket.log
我得到下面的输出,这是我需要的,
Cloning into 'xyz'...
POST git-upload-pack (342 bytes)
remote: Counting objects: 2682, done.
remote: Compressing objects: 100% (1237/1237), done.
remote: Total 2682 (delta 1395), reused 2514 (delta 1316)
Receiving objects: 100% (2682/2682), 21.63 MiB | 10.32 MiB/s, done.
Resolving deltas: 100% (1395/1395), done.
但是,当我使用nano,任何其他编辑器或直接从WinSCP打开文件bitbucket.log时,都会得到以下输出,
Cloning into 'xyz'...
POST git-upload-pack (342 bytes)
remote: Counting objects: 2682, done.[K
remote: Compressing objects: 0% (1/1237) [K
remote: Compressing objects: 100% (1237/1237), done.[K
Receiving objects: 0% (1/2682)
...
Receiving objects: 98% (2629/2682), 15.67 MiB | 10.32 MiB/s
remote: Total 2682 (delta 1395), reused 2514 (delta 1316)[K
Resolving deltas: 100% (1395/1395)
Resolving deltas: 100% (1395/1395), done.
我省略了大部分行,但是您可以理解它的状态,它显示了所有操作从0%到100%的进度。
有没有一种方法可以将cat命令的输出保存到文件中,就像上面第一个输出中所示的一样?
谢谢。
答案 0 :(得分:2)
这是三个简单的选项(其中一个和两个与我上面的评论相同):
%s/^.*^K//
,其中{{1} }的写法是先输入 Ctrl + V ,然后输入 Ctrl + K ^K
以相同的方式编辑文件:sed
sed -i '' $'s/^.*\x0B//' /var/log/bitbucket.log
当我在系统上运行git clone --progress "https://giturl/repo.git" 2>&1 | sed $'s/^.*\x0B//' >/var/log/bitbucket.log
时,我得到的字符是cr,而不是垂直制表符,所以我原来是git clone --progress
而不是\r
。