English 中文(简体)
• 如何在发现和沉积时产生随机数量?
原标题:how to generate random number with find and sed?
  • 时间:2011-10-20 11:41:33
  •  标签:
  • bash

how to generate random number in this code? I try use $RANDOM, but the number is still the same. How to improve it?

find . -type f  -exec sed -i  s/<field name="test/<field name="test$RANDOM/g  {} ;
最佳回答

这是因为,$RANDOM的援引功能在你管理find的指挥时,而不是在find的情况下,代之以其结果。 页: 1

您可以做的是将<代码>-i.部分放在文字中,并将这一文字改为find

例如,subst.sh 包括:

#!/bin/bash
r=$RANDOM
sed -i "s/<field name="test/<field name="test${r}/g" $@

之后

find . -type f -exec ./subst.sh {} ;

trick应当做,因为$RANDOM将随着档案的出现而评估。

(说明一个具体档案中的随机编号仍然相同,但不同档案的随机编号有所不同)。)

问题回答

您还可以避免以这种“一线”方式制作文字档案:

function FUNCtst() { echo "tst:$1";echo "tst2:$1"; }; export -f FUNCtst; find -exec bash -c  FUNCtst {}  ;

阁下:

  1. create a complex function
  2. export -f the funcion
  3. find executing bash, that calls the exported funcion

and, no need to create a file!





相关问题
Parse players currently in lobby

I m attempting to write a bash script to parse out the following log file and give me a list of CURRENT players in the room (so ignoring players that left, but including players that may have rejoined)...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

Bash usage of vi or emacs

From a programming standpoint, when you set the bash shell to use vi or emacs via set -o vi or set -o emacs What is actually going on here? I ve been reading a book where it claims the bash shell ...

Dynamically building a command in bash

I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...

Perform OR on two hash outputs of sha1sum

I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit) How can I do this? I know echo $(( ...

Set screen-title from shellscript

Is it possible to set the Screen Title using a shell script? I thought about something like sending the key commands ctrl+A shift-A Name enter I searched for about an hour on how to emulate ...