在一个实例中grep为“:”,而在另一个实例中不是“:”

时间:2018-01-08 22:56:15

标签: grep bbedit

我需要在 alpha char 之后找到:,但不要在整数之前或之后找到:,并且在设置grep时遇到问题。

在以下示例中,我只想用 TAB NOT 替换创建时间之后的BBEdit在数字之间发生...

  

创作时间:10/3/02 6:48:34 PM

我正在使用@Order(1) @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { private String securityRealm = "MyRealm"; @Autowired private UserDetailsService userDetailsService; @Autowired private PasswordEncoder passwordEncoder; @Bean @Override protected AuthenticationManager authenticationManager() throws Exception { return super.authenticationManager(); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth .userDetailsService(userDetailsService) .passwordEncoder(passwordEncoder); } @Override protected void configure(HttpSecurity http) throws Exception { http .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() .antMatchers("/user").authenticated() .and() .httpBasic().realmName(securityRealm) .and() .csrf().disable(); } } 。感谢您的任何建议,谢谢。

1 个答案:

答案 0 :(得分:2)

我不知道BBEdit,但这种东西在Perl中真的很容易。例如:

echo "Creation Time: 10/3/02 6:48:34 PM" | perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_'

或者如果您有一个名为stuff.txt的文件,其中包含字符串,您可以输入:

perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_' stuff.txt

perl中的-n标志使其循环遍历文件或STDIN,并且-e部分选项在引号中运行程序。循环输入时,该行存储在变量$_中。所以我正在做的是替换$_的内容,匹配任何不是数字的部分(括号中的部分),后跟:匹配的部分({{1} }等于第一个括号内的部分)和制表符。替换后,我打印修改后的$1

所以你可以试试

$_

并查看perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_' stuff.txt > check.txt 以确保我没有让您误入歧途,然后将其复制过来。