AWK使用多个空格作为分隔符(AWK to use multiple spaces as delimiter)
我正在使用下面的命令来使用前两列连接两个文件。
awk 'NR==FNR{a[$1,$2]=substr($0,3);next} ($1,$2) in a{print $0, a[$1,$2] > "br0102_3.txt"}' br01.txt br02.txt
现在,默认情况下,AWk命令使用空格作为分隔符。 但是我的文件可能包含两个单词之间的单个空格,例如
文件1:
ABCD TEXT1 TEXT2 123123112312312312312312312312312312 BCDEFG TEXT3TEXT4 133123123123123123123123123125423423 QWERT TEXT5TEXT6 123123123123125456678786789698758567
文件2:
ABCD TEXT1 TEXT2 12312312312312312312312312312 BCDEFG TEXT3TEXT4 31242342342342342342342342343 MNHT TEXT8 TEXT9 31242342342342342342342342343
我想要结果文件为;
ABCD TEXT1 TEXT2 123123112312312312312312312312312312 12312312312312312312312312312 BCDEFG TEXT3TEXT4 133123123123123123123123123125423423 31242342342342342342342342343 QWERT TEXT5TEXT6 123123123123125456678786789698758567 MNHT TEXT8 TEXT9 31242342342342342342342342343
任何提示?
I am using below command to join two files using first two columns.
awk 'NR==FNR{a[$1,$2]=substr($0,3);next} ($1,$2) in a{print $0, a[$1,$2] > "br0102_3.txt"}' br01.txt br02.txt
Now, by default AWk command uses whitespaces as the separators. But my file may contain single space between two words, e.g.
File 1:
ABCD TEXT1 TEXT2 123123112312312312312312312312312312 BCDEFG TEXT3TEXT4 133123123123123123123123123125423423 QWERT TEXT5TEXT6 123123123123125456678786789698758567
File 2:
ABCD TEXT1 TEXT2 12312312312312312312312312312 BCDEFG TEXT3TEXT4 31242342342342342342342342343 MNHT TEXT8 TEXT9 31242342342342342342342342343
I want the result file as ;
ABCD TEXT1 TEXT2 123123112312312312312312312312312312 12312312312312312312312312312 BCDEFG TEXT3TEXT4 133123123123123123123123123125423423 31242342342342342342342342343 QWERT TEXT5TEXT6 123123123123125456678786789698758567 MNHT TEXT8 TEXT9 31242342342342342342342342343
Any hints ?
原文:https://stackoverflow.com/questions/26842477
最满意答案
在花了很多时间找到这个问题的原因之后,我遇到了Grails版本2.5.5中报告的问题( https://github.com/grails/grails-core/issues/10011 )所以在进入我的项目之前,尝试过执行基本的grails命令“grails-createapp”。 此命令也失败,上面提到的错误。
在我们的案例中的解决方案是
1. Remove Grails version 2.5.5 (if this is already installed) 2. Download/install Grails version 2.5.4 3. Run basic command grails-createapp. This runs fine and an app is created. 4. Remove Grails version 2.5.4 5. Install Grails version 2.5.5 now 6. Run command - grails createapp (this starts working now)
奇怪的问题:)
After spending lot of time finding reason for this issue, I came across an issue reported in Grails version 2.5.5 (https://github.com/grails/grails-core/issues/10011) So before going to my project, tried to execute basic grails command "grails-createapp". This command also failed with error mentioned in question above.
Solution in our case was to
1. Remove Grails version 2.5.5 (if this is already installed) 2. Download/install Grails version 2.5.4 3. Run basic command grails-createapp. This runs fine and an app is created. 4. Remove Grails version 2.5.4 5. Install Grails version 2.5.5 now 6. Run command - grails createapp (this starts working now)
Strange issue :)
相关问答
更多-
在花了很多时间找到这个问题的原因之后,我遇到了Grails版本2.5.5中报告的问题( https://github.com/grails/grails-core/issues/10011 )所以在进入我的项目之前,尝试过执行基本的grails命令“grails-createapp”。 此命令也失败,上面提到的错误。 在我们的案例中的解决方案是 1. Remove Grails version 2.5.5 (if this is already installed) 2. Downloa ...
-
您不能在java命令中同时使用-jar和-cp ,因此您需要明确指定主类。 纵观groovy-all JAR,主要的类名是groovy.ui.GroovyMain ,所以你需要 java -cp 'src:.:lib/*' groovy.ui.GroovyMain src/com/example/MyScript.groovy (如果groovy-所有的都没有被lib/*覆盖,你需要将它添加到-cp中)。 You can't combine both -jar and -cp in a java comm ...
-
由于错误是针对无法找到的jar,看起来你将插件依赖语句放在dependencies块中,但它们应该在plugins块中。 您还可以在指定插件时省略“org.grails.plugins”,因为这是默认设置: plugins { compile ':spring-security-core:2.0.0' compile ':spring-security-ui:1.0-RC3' compile ':jasper:1.11.0' } Since the errors are for jars ...
-
Grails GPARS升级(Grails GPARS upgrade)[2023-10-06]
没错,Grails使用的是旧版GPars(v0.9),但使用的方式非常有限。 不幸的是,它被添加到引导类路径中,这是一种不重要的方式来删除或替换,所以我使用常规的线程管理代码重新编写了代码并删除了依赖关系。 如果升级到2.0.0.M1,则依赖关系消失,您可以使用您喜欢的任何版本的GPars。 Right, Grails was using an older version of GPars (v0.9), but in a very limited way. Unfortunately it was add ... -
Gradle始终将默认构建脚本应用于buildSrc项目。 此脚本包含以下行: compile localGroovy() 这就是groovy-all-2.4.11 。要覆盖此行为,请尝试设置resolutionStrategy ,例如: configurations.compile { resolutionStrategy { force 'org.codehaus.groovy:groovy-all:2.4.12' } } 但更重要的是想想,为什么你要构建一个不同于插件运行时可用版本 ...
-
好吧我发布这个作为我的问题的解决方案,以防万一其他人在将来遇到这个问题。 这可能是显而易见的,但作为Grails的相对新人,我发现这很难解决/找到有关的信息。 基本上我的控制器注释了 @Transactional(readOnly = true) 并且用实际处理的方法进行了注释 @Transactional 最后,服务本身也注明了 @Transactional 我的假设是,这些注释以某种方式混合了在Hibernate会话中访问和存储数据时使用的事务。 从我的控制器中删除注释(并调整代码)并将我的服务作 ...
-
即使我看到其他人发布了更新版本的Tomcat 7可以正常工作,看起来更新到Tomcat 8对我来说也是一招。 BuildConfig.groovy: build ":tomcat:8.0.33" 在尝试tomcat 7.0.70之前,我一直在尝试tomcat 7.0.55。 如果tomcat 7.0.70应该工作而7.0.55没有工作,那么问题可能是一些旧的7.0.55 jar被7.0.70选中了。 Even though I'd seen other people post that a ...
-
groovy.lang.MissingMethodException - 保存GORM(groovy.lang.MissingMethodException - Save GORM)[2022-05-04]
a.fullName("John") a.userName("burak") a.password("1") 这都错了。 Groovy使用JavaBean表示法,属性赋值必须如下所示: a.fullName = "John" a.userName = "burak" a.password ="1" 要么 a.setFullName "John" a.setUserName "burak" a.setPassword "1" 要么 a[ 'fullName' ] = "John" a[ 'userNa ... -
三叶草插件是罪魁祸首。 将其从版本4.0.2升级到版本4.1.2使得错误消失。 The clover plugin was the culprit. Upgrading it from version 4.0.2 to version 4.1.2 made the error go away.
-
令人惊讶的是,我在我的标签中使用的parameters名称与struts 2有冲突。似乎这个版本的struts在上下文中定义了一个parameters ,这使得名称冲突。 当我在jsp struts 2.5.3测试${parameters} ,我注意到了 当我在jsp struts 2.5.5测试${parameters} ,我看到org.apache.struts2.dispatcher.HttpParameters 所以我将tag属性重命名为params ,一切都很好! Surprisingly the ...