【未解决】对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问

在我学习使用Windows的IDEA的过程中,将代码文件转移到Linux虚拟机当中,但无法在Linux系统中统计代码行数。

注意:拷贝进虚拟机的文件均全能编译运行。

具体过程如下:

root@yogile-VirtualBox:/alive/string# ls
bin/  docs/  statistics.sh  string/  work/
##/shared/为虚拟机与宿主机的共享文件夹
root@yogile-VirtualBox:/alive/string# cp -r /shared/idea/ ./      ##步骤一
root@yogile-VirtualBox:/alive/string# ls
bin/  docs/  idea/  statistics.sh  string/  work/

root@yogile-VirtualBox:/alive/string# tree -a idea/
idea/
├── BorderOfP(n,m)
??  ├── BorderOfP(n,m).iml
    ├── .idea
    │   ├── misc.xml
    │ ?? ├── modules.xml
    │ ?? ├── .name
??  │    ├── vcs.xml
??  │    └── workspace.xml
??  ├── out
??  │?? └── production
??  │??     ├── BorderOfP(n,m)
??  │??  ?? ├── Arrangement.class
??  │??  ?? ├── factorial.class
??  │??  ?? └── struct.class
??  └── src
??      ├── Arrangement.java
??      ├── factorial.java
??      └── struct.java

统计代码行数脚本statistics.sh来自使用码云和博客园学习简易教程,部分如下

#!/bin/sh
echo "//==========All================================="
echo "code summary infomation:"
find . -name "*.java"| xargs cat | grep -v ^$ | wc -l
echo ""

然后执行脚本:

root@yogile-VirtualBox:/alive/string# ./statistics.sh
//==========All=================================
code summary infomation:
508
xargs: cat:因信号 13 而终止

注意 :在执行 之前脚本运行结果如下:

root@yogile-VirtualBox:/alive/string# ./statistics.sh
//==========All=================================
code summary infomation:
508

这时,如果将idea/中的文件夹BorderOfP(n,m)/直接复制进string/文件夹中,再执行脚本则成功:

root@yogile-VirtualBox:/alive/string# cp -r idea/*/ string/
root@yogile-VirtualBox:/alive/string# tree -a strong/
string/
├── BorderOfP(n,m)
??  ├── BorderOfP(n,m).iml
    ├── .idea
    │   ├── misc.xml
    │ ?? ├── modules.xml
    │ ?? ├── .name
??  │    ├── vcs.xml
??  │    └── workspace.xml
??  ├── out
??  │?? └── production
??  │??     ├── BorderOfP(n,m)
??  │??  ?? ├── Arrangement.class
??  │??  ?? ├── factorial.class
??  │??  ?? └── struct.class
??  └── src
??      ├── Arrangement.java
??      ├── factorial.java
??      └── struct.java

root@yogile-VirtualBox:/alive/string# ./statistics.sh
//==========All=================================
code summary infomation:
842
xargs: cat:因信号 13 而终止

这时,哪怕新建一个新的文件夹,将string/内的文件移动进去,依然为:

root@yogile-VirtualBox:/alive/string# mkdir retry
root@yogile-VirtualBox:/alive/string# mv string/*/ retry/
root@yogile-VirtualBox:/alive/string# ./statistics.sh
//==========All=================================
code summary infomation:
508
xargs: cat:因信号 13 而终止

在同样的条件下删除.idea文件夹依然不成功
在同样的条件下删除.xml文件依然不成功
在同样的条件下修改文件或文件夹权限依然不成功
在同样的条件下在脚本中添加‘-maxdepth‘依然不成功

这个问题依然无法解决,希望得到大佬们的解答。

原文地址:https://www.cnblogs.com/Yogile/p/10505658.html

时间: 2024-12-21 01:43:08

【未解决】对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问的相关文章

在 Linux 系统中安装Load Generator ,并在windows 调用

原文地址:http://www.blogjava.net/qileilove/archive/2012/03/14/371861.html 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此文章总结遇到的问题以及解决方案,希望能帮到大家.也希望大家转载注明出处. Winsows 的Loadrunner 安装就不多讲了,这个太容易了. 以下是Linux 中安装 Load Generator 说明: Linux 系统版本:CentOS

linux系统中创建windows启动盘

平时工作中用到linux的操作命令较多,因此为了方便,就给电脑装了双系统,一般工作的时候,都选择进入linux系统.但是今天有件工作之外的事情需要解决下:创建一个windows启动盘.如果按照往常来说,我会启动windows,然后用xxx工作制作u盘启动工具,傻瓜式的创建启动盘.但是今天不想再重启系统进入windows做u盘的启动盘了.想在想在linux系统中做u盘启动盘. 之前也接触到在linux中做u盘启动盘的一些博客或其他信息,全部是说用dd命令就可以搞定,之前也试过,dd命令刻录wind

linux系统中挂载windows中的共享文件

在linux系统中建立文件夹用于挂在共享文件,如建立在/home/admin路径中,文件名为sharemkdir /home/admin/share 确认windows的共享文件名及路径(需要注意大小写)//192.168.1.1/share 挂在windows共享路径sudo mount -t cifs -0 username=administrator -l //192.168.1.1/share /home/admin/share 如果有password,需要输入访问windows共享目录

老男孩教育每日一题-2017年5月2日-Linux系统中,不小心把chmod命令的权限弄没了,怎么解决?

老男孩教育每日一题-2017年5月2日-Linux系统中,chmod命令没有执行权限(x权限)或者chmod命令文件的权限为000,怎么解决? 解决方法有两种: 方法一: [[email protected] bin]# cp cp /oldboy/chmod.new (此时复制cp命令文件命名叫chmod.new,此时chmod.new文件有就x的权限,但chmod.new不具备有chmod命令的共功能) [[email protected] bin]# cd /oldboy/ [[email

Linux系统中如何挂载windows共享(cifs),NFS共享,以及挂载ISO文件

# 在Linux系统中挂载Windows中共享的文件夹: mount -t cifs //192.168.1.102/studyshare /mnt -o username=chocolee,password=YOURPASSWD # 在Linux系统中挂载NFS共享的文件夹: mount -t nfs SERVICE_IP:/home/song/nfs /mnt/nfs # 在Linux系统中挂载光盘镜像(ISO文件): mount -t iso9660 -o loop XXX.iso /mn

嵌入式linux系统中,lsusb出现unable to initialize libusb: -99 解决办法 【转】

转自:http://cpbest.blog.163.com/blog/static/41241519201111575726966/ libusb是linux系统中,提供给用户空间访问usb设备的API,方便从linux内核中获取或设置usb设备的信息.lsusb这个用户空间程序,也正是依赖libusb提供的接口API来实现对系统当前的usb总线的扫描,从而显示当前系统存在的usb设备的. 在嵌入式linux中,输入lsusb命名,出现unable to initialize libusb: -

从Linux系统中读取Windows共享的文件

首先在Windows系统上,解禁 Guest用户:将C盘中的文件夹abc属性中,选择共享,将Everyone的权限添加确认:在命令框中输入secpol.msc进入本地策略对话框:首先点击用户权限分配,在"拒绝从网络访问这台计算机",把guest用户删除:点击安全选项,选择"本地账户的共享和安全模型",设置为仅来宾:接下来回到Linux系统中操作:主要分为三个步骤:1.创建挂载目录.2.扫描得到共享的文件.3.将共享文件挂载到创建的目录中.第一步先用mkdir创建一个

不同于Windows的Linux系统中命令运用(一)

今天介绍的是linux系统中命令运用.与Windows系统不同,Linux系统更多是在命令行下面进行管理与配置. 一.简介: Linux操作系统由Linux内核和各种外围程序组成.内核用于实现CPU.内存分配.进程调度.设备驱动等核心操作,面向硬件为主:外围程序包括分析用户指令的解释器.网络服务程序.图形桌面程序等各种应用软件程序,面向用户为主. Linux系统的发行版本有以下三个:1.Red Hat系列2.Debian系列3.Ubuntu系列发行版的名称.版本由发行厂商决定. GPL和LGPL

从windows服务器中的Mysql数据库和论坛程序迁移到Linux系统中的整个过程

1. 首选进入windows服务器,当前目录下d:\Mysql server5.0\data\  mysqldump  –u  root–p   ultrax >ultrax.sql    //注意事项:当前目录是要所在data目录下,否则导出的是空文件: 或者d:\Mysql server5.0\data\  mysqldump  –u  root–p   ultrax >ultrax.txt //导出数据格式由用户定; 当执行上面的命令时,提示您输入mysql数据库密码,导出数据的时间根据